我有一个包含许多 dll 的文件夹。其中之一包含 nunit 测试(标有 [Test] 属性的函数)。我想从 C# 代码运行 nunit 测试。有什么办法可以找到正确的dll吗?
谢谢
您可以使用程序集加载文件 http://msdn.microsoft.com/en-us/library/system.reflection.assembly.loadfile.aspx方法将 DLL 加载到 Assembly 对象中。然后使用程序集.GetTypes http://msdn.microsoft.com/en-us/library/system.reflection.assembly.gettypes.aspx方法来获取程序集中定义的所有类型。然后使用获取自定义属性 http://msdn.microsoft.com/en-us/library/kff8s254.aspx方法,您可以检查类型是否用 [TestFixture] 属性修饰。如果您希望它快速而肮脏,您可以只对每个属性调用 .GetType().ToString() 并检查字符串是否包含“TestFixtureAttribute”。
您还可以检查每种类型内的方法。使用方法类型.GetMethods http://msdn.microsoft.com/en-us/library/td205ybf.aspx检索它们,并对它们中的每一个使用 GetCustomAttributes,这次搜索“TestAttribute”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)