使用NUnit引擎时如何获得错误“无法获取远程进程代理”

时间:2016-04-26 02:03:25

标签: c# nunit

我正在使用NUnit Engine for NUnit 3从我的应用程序运行单元测试。这样做的方法可以在这个帖子“How to run a NUnit test?”的答案中找到。这个答案正是我需要的,除非我尝试运行测试时遇到以下错误:

“无法获取远程进程代理”

Stack Trace:
[Exception: Unable to acquire remote process agent]
NUnit.Engine.Runners.ProcessRunner.LoadPackage() +530
NUnit.Engine.Runners.AbstractTestRunner.Load() +22
NUnit.Engine.Runners.MasterTestRunner.LoadPackage() +291
NUnit.Engine.Runners.MasterTestRunner.NUnit.Engine.ITestRunner.Run(ITestEventListener listener, TestFilter filter) +56

非常感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:3)

- inprocess 选项传递给nunit3-console.exe解决了我的问题。

答案 1 :(得分:1)

如果要采用这种方法,则需要确保所有NUnit程序集和exe都在构建目录中。在您的情况下,我希望您引用引擎,以便包含它,但nunit-agent.exe和其他文件可能不存在。

也就是说,为什么不使用nunit3-console来运行测试,或者如果需要自动执行测试程序集,请使用NUnitLite package。有了它,您可以像

一样简单地运行测试
using NUnit.Common;
using NUnit.Framework;
using NUnitLite;
using System;
using System.Reflection;

namespace MyProject.Test
{
    public class Program
    {
        public int Main(string[] args)
        {
            return new AutoRun(typeof(Program).GetTypeInfo().Assembly)
                .Execute(args, new ExtendedTextWrapper(Console.Out), Console.In);
        }
    }
}