2017-04-21 33 views
1

我有一個有多個項目的VS解決方案。每個項目都有一個與之相關的單元測試項目。比如說,項目A和B分別具有單元測試項目A.Test和B.Test。NUnit-分享不同模塊測試之間的數據

這兩個單元測試項目中的測試都依賴於必須從文件加載的(相同的)數據,而且每次都需要讀取一些數據。如果我沒有在每個單元測試中重新讀取文件中的數據,那麼運行所有單元測試的總時間(+1500)將大大減少。

我有一個想法,創建TestDataManager作爲一個Singleton,並讓它在第一次請求時讀取數據並將數據緩存在內存中。下一次請求相同的數據時,管理器只返回已經緩存的數據。這對於同一項目中的單元測試(例如A.Test)按照預期的方式工作,但是當從B.Test中的測試調用TestDataManager時,管理器已經被拆除並重新創建。

有沒有人知道如何解決在單元測試項目間切換時將數據保存在內存中的問題?

Thanx!

回答

1

它需要你在相同的運行和相同的AppDomain中運行這兩個程序集。一些跑步者(例如nunit3-console)允許你設置選項來做到這一點。其他人,如NUnit 3 VS適配器,則不會。