在Visual Studio 2015的.NET 4.5 Framework上使用C#,我尝试使用Reflection从提供的.dll文件中查找NUnit测试和测试用例。我遇到的问题是反射查询方法(例如IsDefined
和GetCustomAttributes
)要求属性直接从System.Attribute
继承。
在NUnit 3.2.1(截至2016年6月的最新稳定版本)中,属性继承自NUnitAttribute
类,后者继承自System.Attribute
。这可以防止Reflection发现标记的NUnit测试。作为临时工作,我已降级到NUnit 2.6.4,其中属性直接从System.Attribute
继承。将来,我想建立对更新版NUnit的支持。
是否有人对此问题有解决方案或建议?我已经四处寻找,但似乎无法找到一种方法来制作反射方法"实现" System.Attribute
是继承链的进一步发展。
答案 0 :(得分:0)
正如对dbugger评论的回复所述,我在上传的测试与使用反射的系统之间存在不匹配的NUnit版本。我将在这种情况下打开一个关于向后兼容性的新主题,在这里找到:Backwards compatibility with C# Reflection and NUnit Versions