【问题标题】:How to run XUnit tests in the project.json and dotnet tfm world如何在 project.json 和 dotnet tfm 世界中运行 XUnit 测试
【发布时间】:2015-09-16 22:36:20
【问题描述】:

背景:最近我从“旧”世界切换到新的 project.json 世界,因为新的总是更好;) 目前 3 个项目中有 2 个可以使用“dotnet”目标框架名称,另一个需要完整的 .NET 框架(net46)。

我还将我的测试项目切换到了新的 project.json 世界,但是我无法运行任何测试。构建是绿色的,但没有找到测试。

我阅读了this 文档并包含了 xunit.runner.dnx,但问题是它不是一个“dnx”项目——它依赖于“dotnet”或“net46”,而当前的跑步者没有似乎找不到测试。

该项目在GitHub上可用。

来自 xunit.runner.dnx 包的错误:

错误项目Sloader.Config.Tests中的依赖xunit.runner.dnx 2.1.0-beta5-build169不支持框架.NETPlatform,Version=v5.0。 Sloader.Config.Tests C:\Users\Robert\Documents\GitHub\Sloader\tests\Sloader.Config.Tests\project.json 20 IntelliSense

这是目前不支持还是我错过了什么?谢谢!

【问题讨论】:

    标签: xunit dnx project.json


    【解决方案1】:

    目前无法完成。问题是 project.json 的构建系统不会从 NuGet 包中复制引用的 DLL,这与旧的 packages.config 系统不同。在 Microsoft 修复此行为之前,您将无法执行此操作。你唯一的办法就是回到packages.config

    【讨论】:

    • 这种行为是设计使然,还是被 Microsoft 承认为错误?
    • 是的,我们就这个问题与几个团队成员交换了电子邮件,他们承认这是他们打算修复的错误。
    • 这里有一些错误信息,但我们应该澄清这方面的指导。它来了。 xproj 和 csproj 将能够相互引用。最重要的是,单元测试仍然要求您为要测试的每种技术都有一个运行器。
    • 原始发帖人没有提到 csproj => xproj 参考。他在问如何使用 xUnit.net 运行非 DNX project.json 单元测试项目。我的信息 - 绝对正确 - 由于未能将 NuGet 引用复制到 bin 文件夹,因此现在已损坏。
    猜你喜欢
    • 2019-05-26
    • 2017-07-04
    • 1970-01-01
    • 2020-11-05
    • 2018-11-16
    • 2017-03-17
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多