将 xUnit.net 控制台运行程序与单声道一起使用

本文关键字:声道 一起 单声道 net xUnit 控制台 运行 程序 | 更新日期: 2023-09-27 18:34:09

对于

这里的问题来说,这似乎"太容易了",但老实说,我很难找到有关该主题的任何信息。

基本上,这是要点。我们有几个跨不同平台(例如Windows和Mac)的项目是用C#编写的。我们通过 xUnit.net 使用 xUnit 进行单元测试,这些测试在平台之间共享。我正在尝试让这些测试在 xUnit.net 控制台运行器中运行,如此处所述,但我似乎无法让运行器以单声道工作。我还需要做一些额外的事情吗?以下是我尝试通过命令行执行的操作:

 mono [REPOSITORY_PATH]/Apple/Source/Solutions/packages/xunit.runner.console.2.1.0/tools/xunit.console.exe "[REPOSITORY_PATH]/Apple/Source/Platform/Mac/MacXunitTests/bin/Debug/[PROJECT_NAME].Tests.Mac.dll"

以下是我收到的错误:

 xUnit.net Console Runner (32-bit .NET 4.0.30319.17020)
 Can't find custom attr constructor image: /private/var/folders/0p/s4d1k4150zd2v8b0y1q2nz902v4jm6/T/d724bcb6-cce1-4430-b645-6dadd980c2ee/d724bcb6-cce1-4430-b645-6dadd980c2ee/assembly/shadow/6755efca/b6f5411e_d1a0aed4_00000002/xunit.execution.desktop.dll mtoken: 0x0a000009
 Unhandled loader error: 7, (null) xunit.core, Version=2.0.0.2929, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c Xunit.Sdk.PlatformSpecificAssemblyAttribute
 * Assertion: should not be reached at loader.c:298

将 xUnit.net 控制台运行程序与单声道一起使用

事实证明,这是使用旧版本的 xUnit.net 的结果。我们使用的是某种 2.0 的候选发布版本,这导致了我发布的错误。删除 nuget 包并重新安装 2.0 似乎使测试可运行。

我现在发现控制台运行器中的测试失败,但这似乎与在集合夹具中加载程序集时出现一些错误有关,但这超出了原始问题的范围。