簡體   English   中英

ReSharper 單元測試未在 bin 目錄中運行

[英]ReSharper Unit Test not run in bin directory

序言

我知道,這個問題似乎在這里有答案:

遇到了幾乎相同的問題,例如ReSharper 10 測試運行程序無法找到從外部文件引用的 AppSettings 但是這些答案指出,ReSharper 10.0.2 應該會解決這個問題

問題

我包含了一個帶有自定義設置的custom.xml文件,我需要從我的單元測試中讀取它們。 但是找不到我的文件。

我查看了流程運行的位置,並包含了這一行

var curdir = Directory.GetCurrentDirectory();

所以我發現, curdirC:\\\\Users\\\\MYUSER\\\\AppData\\\\Local\\\\JetBrains\\\\Installations\\\\ReSharperPlatformVs11_000

現在很明顯我的文件找不到了。 谷歌搜索后,它發現了上面提到的問題。 但是這些解決方案都不適合我。

這些是我的設置:

ReSharper 設置

Visual Studio 配置

微軟 Visual Studio Ultimate 2012

版本 11.0.61219.00 更新 5

微軟 .NET 框架

版本 4.6.01038

安裝版本:終極版

  • 架構和建模工具 04940-004-0038003-02857
  • Visual Studio 2012 團隊資源管理器 04940-004-0038003-02857
  • 適用於 Visual Studio 2012 的 Microsoft 團隊資源管理器
  • Visual Basic 2012 04940-004-0038003-02857
  • 微軟 Visual Basic 2012
  • Visual C# 2012 04940-004-0038003-02857
  • 微軟 Visual C# 2012
  • Visual C++ 2012 04940-004-0038003-02857
  • 微軟 Visual C++ 2012
  • 視覺 F# 2012 04940-004-0038003-02857
  • Microsoft Visual F# 2012
  • Windows Phone SDK 8.0 - DEU 04940-004-0038003-02857
  • Windows Phone SDK 8.0 - DEU
  • ASP.NET 和 Web 工具 2012.3.41009
  • 生成單元測試 1.0
  • Git 源代碼控制提供程序 1.0.0.0
  • JetBrains ReSharper Ultimate 10.0.2 內部版本 104.0.20151218.120627
  • 適用於 Windows Phone 6.2.923.0 的微軟廣告 SDK
  • 適用於 Windows Phone Build 6.2.923.0 的 Microsoft Advertising SDK
  • 微軟 XNA 游戲工作室 4.0
  • 微軟 XNA 游戲工作室 4.0
  • NuGet-Paket-Manager 2.8.60318.667
  • PreEmptive Analytics Visualizer 1.0
  • SQL Server 數據工具 11.1.20627.00
  • Microsoft SQL Server 數據工具
  • Git 擴展

您沒有列出安裝的任何 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)

我們在測試中使用 TestCaseSource。 因此,在 Rider 版本 2021.1.3 中對我的修復是將 Build-->Unit Testing-->NUnit 更改為 Test Runner 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM