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" },