我在发现测试时遇到了 visual studio 2015 for Web 的问题。 我编写了简单的 .Net 核心应用程序,添加了带有测试的项目,我的 project.json 如下所示:
{
"version": "1.0.0-*",
"dependencies": {
"xunit": "2.3.1",
"xunit.runner.visualstudio": "2.3.1",
"dotnet-test-xunit": "2.2.0-preview2-build1029"
},
"testRunner": "xunit",
"frameworks": {
"net461": {
}
}
}
然后在我的测试项目中我写了第一个测试:
using Xunit;
namespace Tests
{
public class Class1
{
public Class1()
{
}
[Fact]
public void HelloWorld()
{
Assert.True(true);
}
}
}
当我构建解决方案时,我的测试未被发现,我在测试输出窗口中收到此消息:
------ Discover test started ------
========== Discover test finished: 0 found (0:00:00,0475339) ==========
------ Discover test started ------
An exception occurred while test discoverer 'DotNetTestDiscoverer' was loading tests. Exception: Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies.
========== Discover test finished: 0 found (0:00:00,0145118) ==========
有趣的是,版本 6.0.0.0 甚至没有 Newtonsoft.Json。
我尝试了以下方法:
- 将测试架构更改为 x64
- 以管理员身份启动visual studio
- 重新打开VS
- 删除 %TEMP%/VisualStudioTestExplorerExtensions 文件夹
- 创建新项目
- 将测试和项目架构都更改为 x86
注意: 当我运行 dotnet test 时它工作正常,但我想在测试窗口中进行测试,因为我无法从控制台调试测试。
编辑: 我已经创建了导致问题的存储库,请随时查找: https://github.com/Rodeck/XunitIssue
编辑2: 我正在使用 .netcore sdk 版本 1.0.0-preview2-003131。
最佳答案
问题已解决 - xunit 不支持 visual studio 2015 Express Edition。
关于c# - Visual Studio 无法发现测试 (xunit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49810708/