5

我知道如何从 C# 代码运行完整的 NUnit 程序集

TestPackage testPackage = new TestPackage(assemblyName);
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(testPackage);
TestResult testResult = remoteTestRunner.Run(new NullListener(), TestFilter.Empty, false, LoggingThreshold.Error);

但是我怎样才能运行单个 TestFixtures 甚至单个测试呢?

4

1 回答 1

1

感谢@Tony Hopkinson,我找到了解决方案。我只需要创建一个继承TestFilter并覆盖其中的Match函数的类。

public class SingleTestFilter : TestFilter
{
    private string testName;

    public SingleTestFilter(string TestName)
    {
        testName = TestName;
    }


    public override bool Match(ITest test)
    {
        return test.TestName.Name.Equals(testName);
    }
}

然后remoteTestRunner.Run用它作为参数调用。

remoteTestRunner.Run(new NullListener(), new SingleTestFilter("MyTest"), false, LoggingThreshold.Error);
于 2013-01-31T09:12:39.673 回答