unit-testing - 在未安装 SDK 的情况下运行 xUnit 测试

标签 unit-testing .net-core xunit

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

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

我该怎么做?

最佳答案

添加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 测试应用程序。

关于unit-testing - 在未安装 SDK 的情况下运行 xUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57897167/

相关文章:

java - 如何动态调用Junits

c# - VS 代码 : How to copy files to output directory depending on build configurations

unit-testing - 单元测试 - 测试用例与多种方法

f# - 在 F# 中为脚本文件编写测试

node.js - Mocha 茶覆盖范围未知

c# - SQL Server 数据库单元测试和持续集成

c++ - Catch 单元测试订购

c# - NET CORE - AddScoped类,实现许多接口(interface),并通过接口(interface)类型获取它们

.net-core - 使用 ModelBuilder 在 EFCore5 中播种多对多数据库?

xml - JUnit 测试 XML 文档是否按任意列排序