NUnit的使用挺方便的。不过现在的一个项目需要一个服务自动的去调用NUnit的单元测试,然后将结果按照自定义格式输出, 因此研究了一下怎样在C#中调用NUnit的测试类。
NUnit 的很重要的一个核心类是 ServiceManager.、Services.TestLoader。
1、初始化 ServiceManager:
// Add Standard Services to ServiceManager
ServiceManager.Services.AddService( new SettingsService() );
ServiceManager.Services.AddService( new DomainManager() );
ServiceManager.Services.AddService( new RecentFilesService() );
ServiceManager.Services.AddService( new TestLoader( new GuiTestEventDispatcher() ) );
ServiceManager.Services.AddService( new AddinRegistry() );
ServiceManager.Services.AddService( new AddinManager() );
// Initialize Services
ServiceManager.Services.InitializeServices();
2、给 Services.TestLoader.Events 中的各个委托增加处理函数,在这些事件发生时记录各类测试信息。
3、要先加载一个dll,或者一个vs project。这需要调用Services.TestLoader.LoadProject 方法。
4、需要调用Services.TestLoader.LoadTest() 方法加载测试。
5、调用 Services.TestLoader.RunTests(),启动测试。