在组件中找不到测试

时间:2017-02-20 11:55:53

标签: c# nunit pnunit

我试图执行一个示例PNunit测试,但它失败并出现以下错误

The test xxx couldn't be found in the assembly xxx.dll

我已经关注了Pnunit文档,但它没有帮助。

Project Refs

以下是测试用例

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

有人可以查看这个吗?,提前谢谢

3 个答案:

答案 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并重新运行以解决问题