Я только что обновил свой проект до .Net Core 1.1, и теперь все мои тесты не обнаружены. В старой версии (.Net Core 1.0) он работал нормально.
Ниже приведено сообщение в окне вывода VS 2015, созданное 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) ==========
Коды в проекте.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"
]
}
}
}
Мой образец теста:
namespace Tests
{
public class QueryPagingAssetsTest
{
[Fact]
public void should_return_PagingAssetItems()
{
Assert.True(xxxxx);
}
}
}
Есть ли что-то, что мне не хватает? Нужно ли что-то менять, чтобы сделать его совместимым с .Net Core 1.1?
ОБНОВЛЕНО: рабочая версия project.json
Вам нужно добавить библиотеку InternalAbstractions. Если вы перейдете по ссылке Брэда, вам будет предложено использовать «xunit.runner.visualstudio» вместо «xunit.runner.visualstudio». Но AFAIK пока не работает (по состоянию на 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"
},