如何针对net45的类库(包)项目运行xunit测试?

时间:2015-07-24 15:36:29

标签: c# visual-studio-2015 xunit dnx

我有一个类库(Package)项目,VS 2015 RTM中的新预览模板,我想从中执行Xunit测试。

解决方案构建良好但测试资源管理器没有找到任何测试。从project.json你可以看到我只针对net45而不是dnx,所以我使用的是xunit.runner.visualstudio。

{
    "dependencies": {
        "myproject": "",
        "xunit": "2.1.0-*",
        "xunit.runner.visualstudio": "2.1.0-*"
    },

    "frameworks": {
        "net45": {
            "frameworkAssemblies": {
                "System.Runtime": "4.0.0.0"
            }
        }
    }
}

当我将项目类型更改为普通类库时,将选择测试。但是,由于我尝试测试的代码是一个类库(包)项目,从普通的类库中引用它是有问题的,我希望这可以工作。这是(或某些变化)可能吗?

上下文

通常这个项目类型用于ASP.NET 5,Core CLR等。即使我只针对net45,我也在使用它,因为我想利用我可以无缝使用本地的功能源代码代替nuget包(通过global.json projects属性)。这样可以更容易地处理一个依赖于另一个我经常在本地进行更改的包。

1 个答案:

答案 0 :(得分:0)

如果您在DNX beta 7.0上运行而不是project.json中的xUnit声明,则需要如下所示:

"dependencies": {

    "xunit": "2.1.0-rc1-build3168",
    "xunit.runner.dnx": "2.1.0-beta5-build169"
  },
"commands": {

    "test": "xunit.runner.dnx"
  },

并且我希望在您构建项目时,测试会显示出来。 我有类似的问题,直到我没有使用正确版本的xUnit和正确的DNX版本。

以下是您可以阅读有关配置的更多信息的链接。 xUnit和ASP.NET 5 http://xunit.github.io/docs/getting-started-dnx.html

我希望我能帮忙。