在Visual Studio2015的.NET 4.5框架上使用C#,我试图使用反射从提供的.dll文件中查找NUnit测试和测试用例。我遇到的问题是反射查询方法(如IsDefined和GetCustomAttributes)需要直接从System.Attribute继承的属性。
在NUnit 3.2.1 (截至2016年6月的最新稳定版本)中,属性继承自NUnitAttribute类,而该类又继承自System.Attribute。这将阻止反射查找已标记的NUnit测试。作为临时解决办法,我已经降级到直接从System.Attribute继承属性的NUnit 2.6.4。将来,我想内置对更新版本的NUnit的支持。
有没有人对这个问题有解决方案或建议?我到处寻找,但似乎找不到一种方法来使反射方法“意识到”System.Attribute位于继承链的更高位置。
发布于 2016-06-23 22:36:58
正如在回复dbugger的评论时所提到的,我在上载的测试和使用反射的系统之间的NUnit版本不匹配。在这种情况下,我将打开一个关于向后兼容性的新线程,可以在这里找到:Backwards compatibility with C# Reflection and NUnit Versions
https://stackoverflow.com/questions/37992865
复制相似问题