由於一些日子在Visual Studio中的所有我的C#單元測試我的本地機器上運行正在籌集以下TypeInitializationException到達第一Shouldly語句時:與內部異常與Shouldly聲明單元測試失敗
The type initializer for 'Shouldly.ShouldlyConfiguration' threw an exception
Illegal characters in path
及堆棧跟蹤:
at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
at System.IO.Path.Combine(String path1, String path2)
at Shouldly.Configuration.DiffTool.<>c__DisplayClass10_0.<GetFullPath>b__2(String path)
at System.Linq.Enumerable.<>c__DisplayClass7_0`3.<CombineSelectors>b__0(TSource x)
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at Shouldly.Configuration.DiffTool.GetFullPath(String fileName)
at Shouldly.Configuration.DiffTool.Discover(String path)
at Shouldly.Configuration.DiffTool..ctor(String name, String path, ArgumentGenerator argGenerator)
at Shouldly.Configuration.KnownDiffTools..ctor()
at Shouldly.Configuration.KnownDiffTools..cctor()
有一個類似的問題在https://github.com/shouldly/shouldly/issues/422但我的路徑環境是正確的。
對於任何獨立於路徑的單元測試項目,我都會得到相同的錯誤。
即使作爲
[TestClass]
public class UnitTest2
{
[TestMethod]
public void TestMethod1()
{
int i = 1;
i.ShouldBe(1);
}
}
最簡單的測試在其它機器上,我不能重現該問題對於相同的測試。
重新安裝nuget包。最近在侵害機器上發生了什麼變化。像操作系統更新? – Nkosi
@Nkosi我試過了。我正在使用最新版本。沒有改變操作系統的東西... – StefanG