我想获得单元测试项目/解决方案中所有测试方法的列表。我正在使用MSTest框架。我想获得所有测试方法的列表,以便我可以编写一些逻辑来实现所有可用测试的记录,执行什么以及执行哪些等等,
我是这个领域的1岁新手。所以请提供详细的解释或代码。
答案 0 :(得分:0)
我发现了一篇关于如何在Nunit中做到这一点的帖子,并且能够在MSTest中找到它。
var tests = new List();
var testTypes = from t in assembly.GetTypes()
orderby t.Name
select t;
foreach (var type in testTypes)
{
var testMethods = from m in type.GetMethods()
let attributes = m.GetCustomAttributes(typeof(TestMethodAttribute), true)
where attributes != null && attributes.Length > 0
orderby m.Name
select m;
foreach (var method in testMethods)
{
tests.Add(method.Name);
}
}