3

我可以在 mono 下为 NUnit NUnit 测试制作一个 dll ,但是当我尝试使用 nunit-console.exe 运行时,我收到以下错误消息。

运行环境 -
   操作系统版本:Unix 10.3.0.0
  CLR 版本:2.0.50727.1433(2.6.4(tarball Thu Apr 22 13:24:33 MDT 2010))

ProcessModel:默认域使用:单个
执行运行时:mono-2.0

**(/Users/smcho/bin/NUnit-2.5.5.10112/bin/net-2.0/nunit-console.exe:36800):警告**:以下程序集引用自/private/var/folders/m4/m4u1hmP +FHOQaiZbHj1UCk+++TI/-Tmp-/nunit20/ShadowCopyCache/36800_634111616836311880/Tests_-22323139/assembly/shadow/54274fc2/118e035c_45a94c9e_00000001/mut.dll无法加载:
     程序集:nunit.framework (assemblyref_index=1)
     版本:2.5.5.10112
     公钥:96d09a1eb7f44a77
系统错误:参数无效


**(/Users/smcho/bin/NUnit-2.5.5.10112/bin/net-2.0/nunit-console.exe:36800):警告**:无法加载文件或程序集'nunit.framework,版本= 2.5。 5.10112,Culture=neutral,PublicKeyToken=96d09a1eb7f44a77' 或其依赖项之一。

可能有什么问题?我在 /Users/smcho/bin/NUnit-2.5.5.10112/bin/net-2.0/framework 下有 nunit.framework.dll,但它似乎并不知道这一点。

4

2 回答 2

2

这是在 Mono 中使用 NUnit 的另一个令人沮丧的地方。nunit.framework.dll据我所知,您需要将所有这些丢失的文件(不仅仅是nunit-console.exe.

mono在或指定另一个目录中可能有一个命令行选项nunit-console.exe来搜索丢失的 DLL——我不确定。除此之外,您必须将丢失的 DLL 复制到与 相同的文件夹中nunit-console.exe,或者您必须cd进入该framework文件夹并使用mono ../nunit-console.exe /path/to/my/tests.dll

于 2010-06-03T17:01:35.180 回答
0

安装 nuget 后,您可以使用它来安装 nunit.console,如下所示:(来自我的 .circlci/config.yml 文件)

- run: mono --runtime=v4.0 nuget.exe install nunit.console
- run: msbuild MySolution.sln
- run: mono --runtime=v4.0 NUnit.ConsoleRunner.3.12.0/tools/nunit3-console.exe FirstModule.Tests/bin/Debug/FirstModule.Tests.dll
- run: mono --runtime=v4.0 NUnit.ConsoleRunner.3.12.0/tools/nunit3-console.exe SecondModule.Tests/bin/Debug/SecondModule.Tests.dll

诀窍是指定 NUnit.ConsoleRunner 的整个路径并注意-更改为.版本 3

于 2021-05-16T21:08:04.280 回答