Dot-Net
從自動化測試中獲取程序集的目錄
我正在嘗試編寫集成測試以涵蓋對我的應用程序的重大重構(我想編寫單元測試,但距離可單元測試還很遠)。我正在使用 Visual Studio 2010 SP1、Resharper 和 NUnit。
我目前的問題是找不到一致的方法來獲取執行程序集的目錄;我嘗試的兩種方法在單獨執行應用程序時或在從 Visual Studio 調試時有效,但在從 NUnit 或 Resharper 執行測試時它們會失敗。這是程式碼(VB.NET):
'Method 1 Core.ConfigFile = My.Application.Info.DirectoryPath + "\" + DRA_CONFIG_FILE 'Method 2 Core.ConfigFile = IO.Path.GetDirectoryName(Reflection.Assembly.GetExecutingAssembly().Location) + "\" + DRA_CONFIG_FILE當我使用 Resharper 調試測試時,我得到了類似的結果,這兩種方法都有:
C:\Documents and Settings\Tomas\Local Settings\Temp\0xl3rbd5.4qn\MGClient.Test\assembly\dl3\2a373977\60b182bb_e5c9cc01\DRA.config(應該是 D:\SVN.DRA.WorkingCopy\DRA.Test\Integration\MGClient.Test\bin\Debug\DRA.config)
我怎樣才能得到正確的路徑?
您需要在 Resharper 中禁用卷影複製:
Visial Studio 菜單 -> Resharper -> 選項 -> 工具 -> 單元測試
取消選擇正在測試的捲影副本程序集
當我使用 Resharper 調試測試時,我得到了類似的結果,這兩種方法都有:
C:\Documents and Settings\Tomas\Local Settings\Temp\0xl3rbd5.4qn\MGClient.Test\assembly\dl3\2a373977\60b182bb_e5c9cc01\DRA.config在 NUnit測試載入器設置中關閉卷影複製- 高級