如何用NUnit运行多个.dll测试文件?类似Python unittest的方式
NUnit批量运行多个测试.dll文件的方法
你的问题
我拥有多个.dll格式的测试文件,希望使用NUnit运行它们。我记得在Python中可以通过如下代码批量运行测试文件:
suite = unittest.TestLoader().discover("./","*.py") runner = unittest.TestRunner() runner.run(suite)请问在NUnit中是否有类似的方式来运行这些.dll测试文件?
解决方案
1. 命令行方式(最常用)
用NUnit控制台运行器nunit3-console.exe,直接通过通配符批量指定测试.dll,工具会自动发现并执行所有测试:
nunit3-console.exe ./目标路径/*.Tests.dll
比如指定当前目录下所有带.Tests.dll后缀的测试文件,就能一次性全部运行,效果和你Python代码里的discover完全对应。
2. 编程方式(自定义测试流程用)
如果需要在代码里实现类似逻辑(比如C#项目中),可以用NUnit的API批量加载并运行测试:
using NUnit.Framework.Api; using NUnit.Framework.Interfaces; using System.IO; // 创建测试包 var testPackage = new TestPackage(); // 扫描目标目录下的所有测试.dll var testAssemblies = Directory.GetFiles("./", "*.Tests.dll"); foreach (var assemblyPath in testAssemblies) { testPackage.AddAssembly(assemblyPath); } // 执行测试 var runner = new NUnitLiteTestRunner(); ITestResult testResult = runner.Run(testPackage);
这段代码会自动匹配并加载测试文件,执行全部测试用例,逻辑和你Python的写法一致。
内容的提问来源于stack exchange,提问作者Anéeka
相关产品推荐
相关产品推荐

