【问题标题】:Run xUnit tests without SDK installed在未安装 SDK 的情况下运行 xUnit 测试
【发布时间】:2020-11-18 15:24:37
【问题描述】:

我想在服务器上运行一些 xUnit 测试,而不必在那里安装 .NET Core SDK。

服务器是安装了 .NET Core 运行时 v2.2 的 Windows 服务器。

我该怎么办?

【问题讨论】:

  • 非常模糊。什么样的测试?单元测试?单元测试应该在构建应用程序期间(例如在管道中)或在本地开发时运行。甚至是集成测试。

标签: unit-testing .net-core xunit


【解决方案1】:

添加xunit.console nuget 包(撰写本文时版本为 2.4.1),并在您的 Program.Main 中添加一行:

public class Program
{
    public static int Main()
    {
        return Xunit.ConsoleClient.Program.Main(
            new[] { typeof(Program).Assembly.Location });
    }
}

您还需要将 <GenerateProgramFile>false</GenerateProgramFile> 添加到您的 csproj 文件中。

只需使用dotnet publish,即可使用dotnet run "myapp.dll" 执行测试。

如果您希望在必要时灵活地覆盖报告器或过滤器,您可以扩展它以通过其他参数。

这些包似乎没有与其他 xunit 包一起更新(我认为这是一个 v2 版本 - 现在有一个 v3),但这似乎仍然适用于 netcoreapp3.1 和 net5 xunit 测试应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 2017-11-26
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多