代码之家  ›  专栏  ›  技术社区  ›  Dror Helper

如何从C代码运行NUnit测试

  •  18
  • Dror Helper  · 技术社区  · 14 年前

    我使用NUnit的源代码构建的代码不起作用:

    if(openFileDialog1.ShowDialog() != DialogResult.OK)
    {
        return;
    }
    
    var builder = new TestSuiteBuilder();
    var testPackage = new TestPackage(openFileDialog1.FileName);
    var directoryName = Path.GetDirectoryName(openFileDialog1.FileName);
    testPackage.BasePath = directoryName;
    var suite = builder.Build(testPackage);
    
    TestResult result = suite.Run(new NullListener(), TestFilter.Empty);
    

    我错过了什么? 是否有其他方法从代码运行测试(不使用Process.Start)?

    1 回复  |  直到 14 年前
        1
  •  29
  •   Martin Buberl    13 年前

    在开头添加以下行可以设置NUnit框架,并可能对您有所帮助:

    CoreExtensions.Host.InitializeService();
    

    TestPackage testPackage = new TestPackage(@"C:\YourProject.Tests.dll");
    RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
    remoteTestRunner.Load(testPackage);
    TestResult testResult = remoteTestRunner.Run(new NullListener());
    

    您需要引用以下程序集:

    • nunit.core.dll
    • nunit.core.interfaces.dll

    nunit.framework.dll 必须位于测试程序集所在的文件夹中;)