c# - Visual Studio 无法发现测试 (xunit)

标签 c# visual-studio unit-testing testing xunit

我在发现测试时遇到了 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。

我尝试了以下方法:

  1. 将测试架构更改为 x64
  2. 以管理员身份启动visual studio
  3. 重新打开VS
  4. 删除 %TEMP%/VisualStudioTestExplorerExtensions 文件夹
  5. 创建新项目
  6. 将测试和项目架构都更改为 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/

相关文章:

java - Camel 单元测试 - 我们如何编写单元测试来断言 bean 的特定方法被调用?

c# - ListBox Item 将冲突的属性返回给子项

C#。 double 的奇怪行为

visual-studio - 在 NuGet 中从 Entity Framework 6.2 升级到 6.3.0

c# - 是否有很好的衡量单元测试完整性的方法

delphi - 如何处理纠结的使用依赖关系以便开始单元测试?

c# - MVC - 将所有列表框项目传递回 Controller

c# - 从一个方法返回多个值

visual-studio - 如何为 Visual Studio Team Services 设置符号服务器

visual-studio - VS2019无法添加 Controller