【问题标题】:How do I run xunit tests for a Class Library (Package) project targeting net45?如何为针对 net45 的类库(包)项目运行 xunit 测试?
【发布时间】:2015-10-15 08:42:47
【问题描述】:

我有一个类库(包)项目,这是 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 项目属性)。它使处理依赖于另一个我经常在本地进行更改的包的包变得更加容易。

【问题讨论】:

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


【解决方案1】:

如果您在 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

希望我能帮上忙。

【讨论】:

  • 问题:如果我在 project.json 中定义了多个框架,如何从命令行为特定框架启动 xunit? dnx --framework dnxcore50 -p test/Hello.Test 似乎不起作用?
猜你喜欢
  • 2019-05-26
  • 2015-07-14
  • 2021-12-28
  • 2017-08-30
  • 2017-07-29
  • 2021-11-04
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多