[英]ReSharper Unit Test not run in bin directory
序言
我知道,這個問題似乎在這里有答案:
我遇到了幾乎相同的問題,例如ReSharper 10 測試運行程序無法找到從外部文件引用的 AppSettings 。 但是這些答案指出,ReSharper 10.0.2 應該會解決這個問題
問題
我包含了一個帶有自定義設置的custom.xml
文件,我需要從我的單元測試中讀取它們。 但是找不到我的文件。
我查看了流程運行的位置,並包含了這一行
var curdir = Directory.GetCurrentDirectory();
所以我發現, curdir
是C:\\\\Users\\\\MYUSER\\\\AppData\\\\Local\\\\JetBrains\\\\Installations\\\\ReSharperPlatformVs11_000
現在很明顯我的文件找不到了。 谷歌搜索后,它發現了上面提到的問題。 但是這些解決方案都不適合我。
這些是我的設置:
Visual Studio 配置
微軟 Visual Studio Ultimate 2012
版本 11.0.61219.00 更新 5
微軟 .NET 框架
版本 4.6.01038
安裝版本:終極版
您沒有列出安裝的任何 NUnit 版本,但是您標記了這個“nunit”,所以我將假設您正在使用它! 此外,我假設 NUnit >= 3.0 ... 否則請忽略這一點。 :-)
NUnit 3.0 停止更改當前目錄。 無論如何,這樣做對我們來說是一個壞主意,對於 3.0 來說,這是一個非常糟糕的主意,因為不同目錄中的多個程序集可能同時運行。
因此,假設它仍然是 NUnit 問題,而不是使用相對路徑,而是使用 TestContext.CurrentContext.TestDirectory 作為文件的位置。
試試這個:
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
幫助我解決此類問題的事情 - 我剛剛在 ReSharper 設置中關閉了 NUnit 2.x 支持(ReSharper -> 選項... -> 工具 -> 單元測試 -> NUnit)。
我還關閉了 NUnit 2.x 支持,即使它顯然與問題無關,它也解決了它(我有 ReSharper 2017.3.20180201.111630)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.