我试图执行一个示例PNunit测试,但它失败并出现以下错误
The test xxx couldn't be found in the assembly xxx.dll
我已经关注了Pnunit文档,但它没有帮助。
以下是测试用例
using NUnit.Framework;
namespace TestLibraries
{
[TestFixture]
public class PuniTest
{
[Test]
public void EqualTo19()
{
Assert.AreEqual(19, (15 + 4));
}
}
}
和test.conf文件
<TestGroup>
<Variables>
<Variable name="$agent_host" value="localhost" />
</Variables>
<ParallelTests>
<ParallelTest>
<Name>Testing</Name>
<Tests>
<TestConf>
<Name>Testing</Name>
<Assembly>pnunit35.dll</Assembly>
<TestToRun>TestLibraries.PuniTest.EqualTo19</TestToRun>
<Machine>$agent_host:8080</Machine>
</TestConf>
</Tests>
</ParallelTest>
</ParallelTests>
</TestGroup>
我编译了代码,复制了&#34; pnunit35.dll&#34;和&#34; test.conf&#34;文件到&#34; NUnit.Runners.Net4.2.6.4 \ tools &#34;用于运行测试的文件夹
运行以下命令(在批处理文件中)以启动代理并从Nunit test runner文件夹运行脚本
start pnunit-agent 8080 .
pnunit-launcher test.conf
在运行批处理脚本时,测试失败并显示以下错误
The test TestLibraries.PuniTest.EqualTo19 couldn't be found in the assembly pnunit35.dll
有人可以查看这个吗?,提前谢谢
答案 0 :(得分:0)
您可能会错过Visual Studio中的NUnit Test Adapter。
答案 1 :(得分:0)
您的处理器架构可能不匹配。如果您的项目是64位,请转到测试 - &gt;测试设置 - &gt;默认处理器architecure - &gt; 64。
答案 2 :(得分:0)
谢谢大家,
最后我找到了问题的根本原因,它是与我在项目中使用的NUnit-3.6.0和Nunit.Runner-4.2.6.4不兼容的pNunit版本。
当我搜索这个问题时,我发现pNunit-2.6.4与最新的Nunit-3.6.0不兼容。所以,我已经将Nunit和NUnit.Runners改为2.6.4。然后测试没有任何问题。
<强>更新强> 使用.Net Framework 3.5
更新2: [ .Net Framework 4.5 ] 如果您正在使用.Net Framework 4及更高版本,请在兼容模式下启动PNunit-agent。
在文本编辑器中编辑“pnunit-agent.exe.config”文件,并在“配置”中添加以下代码
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
关闭pnunit-agent并重新运行以解决问题