MSTest中包/解决方案中的所有测试方法

时间:2015-10-10 20:58:33

标签: mstest

我想获得单元测试项目/解决方案中所有测试方法的列表。我正在使用MSTest框架。我想获得所有测试方法的列表,以便我可以编写一些逻辑来实现所有可用测试的记录,执行什么以及执行哪些等等,

我是这个领域的1岁新手。所以请提供详细的解释或代码。

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);
           }
       }