Visual Studio 无法发现测试 (xunit)。

3
我需要翻译的内容如下:

在发现测试时,我遇到了使用Visual Studio 2015 for Web的问题。 我编写了一个简单的.Net Core应用程序,添加了一个带有测试的项目,我的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版本。
我尝试了以下几点:
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。

错误提示说它找不到特定版本的 Newtonsoft.Json。你的项目中是否使用了 Newtonsoft.Json - GWigWam
1
不,我不是。我粘贴了整个project.json文件。 - Roddeck
但是你有一个来自其他依赖项的短暂依赖关系。你需要解决这个问题。你尝试安装过Newtonsoft.Json吗? - Jocke
是的,我安装了 Newtonsoft.Json 9.0.1(xunit 依赖于它但没有成功)。错误提示中显示没有 Newtonsoft.Json 版本 6.0.0.0。此外,这个项目(来自存储库)在另一台电脑上可以运行。 - Roddeck
1个回答

1
问题已解决 - xunit不支持Visual Studio 2015 Express版。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接