为插件创建共享的NUnit测试

时间:2014-04-07 12:34:04

标签: c#-4.0 nunit

我有插件,我需要测试,任何插件都符合某些规范。其中一种情况是检查程序集中是否存在某些接口(需要从程序集中反映)。 我想创建一些控制台应用程序,它将插件作为参数并进行检查。

此应用程序将包含一组测试,这些测试将由传递的参数配置。并且测试运行器将生成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;
    }

在这个灵魂中我有测试,但我需要通过命令行将参数传递给这个测试通过跑步者..

2 个答案:

答案 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