C#Reflection无法找到NUnit属性

时间:2016-06-23 13:19:27

标签: c# reflection nunit

在Visual Studio 2015的.NET 4.5 Framework上使用C#,我尝试使用Reflection从提供的.dll文件中查找NUnit测试和测试用例。我遇到的问题是反射查询方法(例如IsDefinedGetCustomAttributes)要求属性直接从System.Attribute继承。

在NUnit 3.2.1(截至2016年6月的最新稳定版本)中,属性继承自NUnitAttribute类,后者继承自System.Attribute。这可以防止Reflection发现标记的NUnit测试。作为临时工作,我已降级到NUnit 2.6.4,其中属性直接从System.Attribute继承。将来,我想建立对更新版NUnit的支持。

是否有人对此问题有解决方案或建议?我已经四处寻找,但似乎无法找到一种方法来制作反射方法"实现" System.Attribute是继承链的进一步发展。

1 个答案:

答案 0 :(得分:0)

正如对dbugger评论的回复所述,我在上传的测试与使用反射的系统之间存在不匹配的NUnit版本。我将在这种情况下打开一个关于向后兼容性的新主题,在这里找到:Backwards compatibility with C# Reflection and NUnit Versions