XUnit tests no longer show up in .Net Core 1.1

I just upgraded my project to .Net Core 1.1 and all my tests were not detected. It worked great when it was in the old version (.Net Core 1.0)

Below is the message in the VS 2015 output window generated by XUnit

------ Discover test started ------ Discovering tests in 'C:\TW\websites2016\AssetsDB\src\Tests\project.json' ["C:\Program Files\dotnet\dotnet.exe" test "C:\TW\websites2016\AssetsDB\src\Tests\project.json" --output "C:\TW\websites2016\AssetsDB\src\Tests\bin\Debug\netcoreapp1.1" --port 61778 --parentProcessId 7316 --no-build] 'test-xunit' returned '-532462766'. ========== Discover test finished: 0 found (0:00:01.7697049) ========== 

Codes in project.json

 { "version": "1.0.0-*", "testRunner": "xunit", "dependencies": { "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", "AssetsDB": { "target": "project" }, "xunit": "2.2.0-beta4-build3444", "dotnet-test-xunit": "2.2.0-preview2-build1029", }, "frameworks": { "netcoreapp1.1": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.1.0" } }, "imports": [ "dotnet5.4", "portable-net451+win8" ] } } } 

My test test:

 namespace Tests { public class QueryPagingAssetsTest { [Fact] public void should_return_PagingAssetItems() { Assert.True(xxxxx); } } } 

Is there anything I don't see? Do I need to change something to make it compatible with .Net Core 1.1?

UPDATED : Working version of project.json

You need to add the InternalAbstractions library. If you follow Brad's link, you will be prompted to use "xunit.runner.visualstudio" instead of "xunit.runner.visualstudio". But AFAIK, it is not working yet (as of 12/09/2016)

 "dependencies": { "AssetsDB": { "target": "project" }, "Microsoft.DotNet.InternalAbstractions": "1.0.1-beta-003206", "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", "xunit": "2.2.0-beta4-build3444", "dotnet-test-xunit": "2.2.0-preview2-build1029" //"xunit.runner.visualstudio": "2.2.0-beta4-build1194" }, 
+5
source share
3 answers

Add "Microsoft.DotNet.InternalAbstractions": "1.0.0" to your dependencies, dotnet-test-xunit has problems with .NET Core 1.1 (and apparently due to his retirement when a new tool based on csproj is missing). Check out https://github.com/xunit/xunit/issues/1031#issuecomment-261374279 .

+6
source

I use NUnit, and the following solution to my problem: installing Microsoft.DotNet.InternalAbstractions, closing Visual Studio, uninstalling project.lock.json, opening Visual Studio, compiling and running tests

+1
source

Creating unit tests with ASP.NET Core 1.1, xUnit, and ReSharper

Current Wednesday:

  • Windows 10 64bit
  • Visual Studio Enterprise 2017 15.1 (26403.7) Release
  • ReSharper 2017.1.2

After I created the project with dotnet new xunit , I managed to create the tests and run it using the ReSharper Unit Test session.

.csproj

 <Project Sdk="Microsoft.NET.Sdk"> <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> <ItemGroup> <Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358}" /> </ItemGroup> </Project> 

UnitTest.cs

 using Xunit; namespace ErpWebApi.UnitTests { public class UnitTest1 { [Fact] public void TestFail() { Assert.Equal(2, 3); } [Fact] public void TestSucess() { Assert.Equal(2, 2); } } } 

Result:

See image with hyperlink only, no comments

Microsoft Link

+1
source

Source: https://habr.com/ru/post/1261057/


All Articles