XUnit 使用 Cake 与 .NET Core 配合使用

2024-01-06

我有一个相对简单的解决方案。在 MSBuild 下一切正常(在 VS 2017 Mac 中)。我正在创建一个 Cake 构建脚本,但我无法让单元测试正常工作。例子有很多,但似乎没有一个是有效的。有些人要求使用 DotnetCoreTest,大多数要求使用 XUnit2。在我的项目中根本不起作用。

运行 XUnit2 时出现以下错误:System.InvalidOperationException: Unknown test framework: could not find xunit.dll (v1) or xunit.execution.*.dll (v2) in /Users/dev/Projects/MyProject/tst/MyProject.Serialization.UnitTests/bin/Release/netcoreapp1.1

该输出绝对有效,该文件实际上不存在。以下是我的单元测试项目的参考:

<ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
    <PackageReference Include="xunit" Version="2.2.0" />
    <PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
    <PackageReference Include="xunit.runner.console" Version="2.2.0" />
    <PackageReference Include="FluentAssertions" Version="4.19.2" />
    <PackageReference Include="Moq" Version="4.7.99" />
    <PackageReference Include="FluentAssertions.AspNetCore.Mvc" Version="0.7.0-beta1" />
    <PackageReference Include="AutoMapper" Version="6.1.1" />
    <PackageReference Include="ExpectedObjects" Version="1.3.0" />
    <PackageReference Include="OpenCover" Version="4.6.519" />
    <PackageReference Include="xunit.extensibility.execution" Version="2.2.0" />
</ItemGroup>

我已经参考过xunit.runner.console AND xunit.extensibility.execution,但这些并未复制到目标目录。 .NET Core 似乎没有任何方法强制执行此操作,即使我手动复制它们,测试程序集仍然无法加载。

这是我的蛋糕测试脚本:

#tool nuget:?package=NUnit.ConsoleRunner&version=3.4.0
#tool nuget:?package=xunit.runner.console
...
Task("Test")
    .IsDependentOn("Build")
    .Does(() =>
{
    Information("Start Running Tests");
    XUnit2(string.Format("./tst/**/*Tests/bin/{0}/**/*Tests.dll", configuration), new XUnit2Settings
    {
    });
});

显然我错过了一些非常基本的东西,但是由于存在所有相互矛盾的信息,我不知道它是什么。我不应该使用 XUnit 吗?


我遇到了同样的问题,通过使用 DotNetCoreTest 而不是 XUnit2 来解决它。

Task("Test")
    .Does(() => 
    {
        DotNetCoreTest("./test/[TestProjectPath]/[TestProject.csproj]");
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XUnit 使用 Cake 与 .NET Core 配合使用 的相关文章

随机推荐