我有插件,我需要测试,任何插件都符合某些规范。其中一种情况是检查程序集中是否存在某些接口(需要从程序集中反映)。 我想创建一些控制台应用程序,它将插件作为参数并进行检查。
此应用程序将包含一组测试,这些测试将由传递的参数配置。并且测试运行器将生成xml报告输出。
有更好的解决方案吗?
更新。 在我的控制台应用程序中,我打电话:
static int Main(string[] args)
{
CoreExtensions.Host.InitializeService();
var runner = new SimpleTestRunner();
var testPackage = new TestPackage(Assembly.GetExecutingAssembly().FullName);
string loc = Assembly.GetExecutingAssembly().Location;
testPackage.Assemblies.Add(loc);
if (runner.Load(testPackage))
{
var result = runner.Run(new NullListener(), new AllTestsFilter(), false, LoggingThreshold.Off);
var buffer = new StringBuilder();
new XmlResultWriter(new StringWriter(buffer)).SaveTestResult(result);
Console.Write(buffer.ToString());
return result.IsSuccess
? 0
: -1;
}
return -1;
}
在这个灵魂中我有测试,但我需要通过命令行将参数传递给这个测试通过跑步者..
答案 0 :(得分:0)
您可以使用TestCaseSource属性:http://nunit.org/index.php?p=testCaseSource&r=2.6.3
在测试用例源属性中,您可以枚举要测试的程序集:NUnit将注意为每个值生成参数测试。
关于命令行执行,您可以使用nunit-console.exe。你可以在这里得到它:http://www.nuget.org/packages/NUnit.Runners/
希望它有所帮助。
答案 1 :(得分:0)
通过创建没有NUnit的简单控制台应用程序解决了这个问题。只需返回代码-1/0