[英]Xunit Unit Tests will not run
我完全被困在這個問題上。 所以我的團隊在服務測試項目中有一個單元測試項目。 測試是在測試資源管理器窗格中發現的,但是當我嘗試運行測試時,出現以下錯誤:
'找到具有相同 uri 'executor://xunit/VsTestRunner2' 的多個測試適配器。 忽略適配器“Xunit.Runner.VisualStudio.TestAdapter.VsTestRunner”。 請卸載沖突的適配器以避免此警告'
'[xUnit.net 00:00:00.0251250] 跳過:(找不到相關程序集 'Microsoft.Extensions.DependencyModel,Version=1.1.0')'
'C:\ 中沒有可用的測試。 確保測試發現者和執行者已注冊並且平台和框架版本設置合適,然后重試。
上下文信息:
我的測試項目 project.json:
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"Microsoft.AspNetCore.Mvc.ViewFeatures": "1.1.3",
"Microsoft.DiaSymReader": "1.0.8",
"Microsoft.DiaSymReader.Native": "1.4.1",
"Microsoft.Extensions.Logging.Abstractions": "1.1.2",
"Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview2-003121",
"Newtonsoft.Json": "9.0.1",
"WebServices": "1.0.0-*",
"xunit": "2.2.0",
"xunit.abstractions": "2.0.1",
"xunit.assert": "2.2.0",
"xunit.core": "2.2.0",
"xunit.extensibility.core": "2.2.0",
"xunit.extensibility.execution": "2.2.0",
"xunit.runner.utility": "2.2.0"
},
"frameworks": {
"net461": {
"dependencies": {
"Microsoft.NETCore.Platforms": "1.1.0"
}
}
}
奇怪的是它對我的團隊成員有效。 但不是我。 我們環境中的差異是:來自 Windows 和 Visual Studio 的最新更新,而它們落后一兩個更新。
有誰知道解決方法?
安裝或更新“xunit.runner.visualstudio”包對我有用。 在此之前,它不適用於框架 462。
我遇到了同樣的問題,我通過將 Visual Studio 2017 從 15.5.2 更新到 15.5.4 並更新我的測試項目引用來解決它:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0-preview-20170628-02" />
<PackageReference Include="xunit" Version="2.2.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
到:
<ItemGroup>
<PackageReference Include="xunit" Version="2.3.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
</ItemGroup>
並重新啟動 Visual Studio(顯然 VS 會緩存並使用以前的版本,即使您已更新)。
不確定這三件事之一或它們的組合是否修復了它。
我遇到了同樣的問題,但我已經安裝了 Visual Studio 2017 15.5.4。 為了使它工作,我更新了所有與xunit
相關的引用,現在我的 .csproj 相關引用如下所示:
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
<PackageReference Include="xunit" Version="2.3.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
</ItemGroup>
不確定什么不起作用,但我的建議是確保這些參考在 csproj 中並具有這些最低版本。
我遇到了和你類似的問題,說could not find dependent assembly
; 實際上,該程序集在那里並且可供 xUnit VS 運行程序使用。 但是,實際問題是,我將 Visual Studio 設置為默認使用32bit
測試運行器。 它找不到的“依賴程序集”只是與所使用的 xUnit 測試運行程序不同的處理器架構。
要修復,如提到這里,從Visual Studio菜單,進入Test -> Test Settings -> Default Processor Architecture
並將其設置為X64
,如果你使用的是64bit
組件,或X86
如果您正在使用32bit
組件。 xUnit VS runner 給出的錯誤對嘗試調試此問題非常具有誤導性。
我在新機器上安裝 Visual Studio 時看到的這個問題。 測試將在我的 Visual Studio 桌面機器上運行,但不會在我的筆記本電腦上運行。
關閉並重新打開 Visual Studio 對我有用。
如果你有一個在同一個 Visual Studio(或任何其他 Visual Studio 實例)上運行的項目,請停止它。 雖然我知道這很尷尬,但它解決了問題。
我有同樣的問題,我安裝在 nuget 包下面
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.10.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3">
最近在VS 2019上遇到了這個問題。 安裝 VS.QualityTools.UnitTestFramework nuget 解決了這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.