簡體   English   中英

Xunit 單元測試不會運行

[英]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:\ 中沒有可用的測試。 確保測試發現者和執行者已注冊並且平台和框架版本設置合適,然后重試。

上下文信息:

  • Xunit 2.2.0
  • 視覺工作室 15.5.2
  • Windows 10 1709 內部版本:16299.125

我的測試項目 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">

如果您在 Visual Studio 中的問題是測試運行程序 output 似乎是空的,請檢查相關按鈕(下方的白框)是否全部選中。

檢查白框

最近在VS 2019上遇到了這個問題。 安裝 VS.QualityTools.UnitTestFramework nuget 解決了這個問題

暫無
暫無

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

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