1

我有一个使用 NUnit 属性的自定义测试用例运行器。我使用反射加载测试 DLL 并检查方法是否包含 [Test] 属性,如下所示:

method.IsDefined(typeof(TestAttribute), true)

但是,如果测试 DLL 和我的运行器引用不同版本的 NUnit,这似乎返回 false,例如,运行器使用 NUnit 2.6,而测试 DLL 在参考中使用 NUnit 2.5。如果 DLL 版本不同,有没有一种方法可以执行此检查,该检查返回 true?

4

1 回答 1

0

我只想检查属性的全名。属性中没有其他元数据TestAttribute,也不会被误认为是其他元数据。

bool isTestMethod = method.GetCustomAttributes(false).Any(attribute => attribute.GetType().FullName == typeof(TestAttribute).FullName);

如果您想对此严格要求,则必须通过 app.config 文件为您的自定义测试运行程序执行程序集绑定重定向。

于 2013-01-02T06:07:27.413 回答