2017-06-15 83 views
6

工作,我已經做了的NuGet安裝這樣的:是否xunit.runner.visualstudio不爲Visual Studio

Install-Package xunit.runner.visualstudio -Version 2.2.0 

在我的測試項目。

我有一個類似的測試:

public class When_Doing_Stuff_I_Want_To_Test 
{ 

    [Fact] 
    public void Can_Do_Stuff() 
    { 
     var result = DoStuff(); 

     result.ShouldNotBeNull(); 
     result.Success.ShouldBeTrue(); 
    } 
} 

雖然我已經做了無數VS重新啓動,筆記本電腦重新啓動,之間留下了一天,VS 2017年依然沒能發現我的測試:enter image description here

我能做些什麼來解決這個問題,看看我的測試?

附錄

我4.6.1下工作,所以沒有核心。關於同一主題

問題沒有幫助:

所以有很多兜兜,沒有它有幫助編...

更新

我不能讓NUnit的要麼工作,在測試資源管理器不會顯示爲好。

更新2

我擦我的項目和重建項目,像這樣:

enter image description here

然後我複製我的原代碼,增加了所有必需的引用,沒有任何區別。

+1

你有「testRunner」,在依賴關係中,你的project.json文件中設置了「dotnet-test-xunit」嗎? –

+0

我的解決方案文件夾結構中的任何地方都找不到'testrunner'和'dotnet-test-xunit'。 – Spikee

+0

您使用的具體項目類型是什麼? .NET Core,還是不是?由於項目類型的複雜性,目前這不是一個簡單的設置,所以你必須清楚你在做什麼。 –

回答

7

拖網互聯網之後,似乎瞄準NETStandard.Library不能用於測試項目...

這些都是我從資料鏈接:

有什麼可以做的是有你想測試的項目使用NETStandard.Library並有你的測試項目目標Microsoft.NETCore。App。然後,您的測試項目可以引用該項目進行測試並且測試將運行。

爲您的測試項目將是這個樣子的.csproj的(版本可能會發生變化):

<PropertyGroup>  
    <TargetFramework>netcoreapp1.1</TargetFramework> 
</PropertyGroup> 

<ItemGroup> 
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" /> 
    <PackageReference Include="xunit" Version="2.2.0" /> 
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" /> 
</ItemGroup> 

的項目,測試會是這樣:

<PropertyGroup> 
    <TargetFramework>netstandard1.4</TargetFramework> 
</PropertyGroup> 

最近我已經在解決方案上運行 dotnet restore以使測試運行,因此您可能需要執行相同的操作。 結果.NET Core SDK 1.0.1被定位而不是1.0.4(我沒有安裝x86版本)。

+0

這有助於讓它工作,感謝您的努力! – Spikee

相關問題