【发布时间】:2017-11-09 09:31:53
【问题描述】:
我在从命令行运行测试时遇到了一些问题。我有一个单独的测试项目,通常使用 Rider,测试运行完美。但是,我想在 CI 环境中运行它们,因此需要能够从命令行运行它们。
我正在尝试运行 项目名称>“C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe”Test\Test.csproj NUnit 控制台运行器 3.4.0 版权所有 (C) 2016 查理普尔
Runtime Environment
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 4.0.30319.42000
Test Files
Test\Test.csproj
Errors and Failures
1) Error : Test.MVCmodel.CoilClassTest.CoilCreateEmptyIdTest
System.BadImageFormatException : Could not load file or assembly 'UserInterface, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
at Test.MVCmodel.CoilClassTest.CoilCreateEmptyIdTest()
运行时也会发生同样的事情 "C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" Test\bin\Debug\Test.dll
测试项目位于 MainProject 内:Projectname\Projectname.csproj 和 Projectname\Test\Test.csproj
是的,我在 Stackoverflow 上找到了很多类似的帖子,但我没有找到适用的解决方案。
【问题讨论】:
-
32 位进程与 64 位进程几乎可以肯定。确保针对正确类型的目标编译您的应用程序和测试项目。
-
同意。这通常由 nunit 自动检测到 - 您使用的是相当旧版本的 nunit 控制台 - 我建议尝试最新版本。
-
啊 - 我错过了你传递 csproj 而不是程序集。这也可能会影响自动识别的内容。有一个
--x86标志,如果你需要强制 x86 -
是的,谢谢,--86 标志做到了。看来我的主项目和我的测试项目也有不同版本的 nunit....
标签: c# nunit-console