或来自其他地方。。
- 我想要的是:在开始测试时获取所有场景名称,但在不启动所有测试的情况下。
- 我尝试的是:通过程序集反射,我扫描了内容,但其中一个只包含功能名称和方法名称。不是方案名称。(由此:以编程方式获取nunit库中的测试列表,而无需运行测试(也存在ScenarioContext,但它只包含当前名称。并非所有测试套件都存在
我使用的是:
- 用于描述的Specflow
- NUnit用于运行。VS2019
- 用于结果收集的TestRail。TestSuite包含testName,等同于Specflow中的测试描述
我希望这是可能的。感谢大家!
好的,我找到了!
List<string> scenLst = new List<string>();
try
{
var assembly = System.Reflection.Assembly.LoadFrom(Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "project.dll"));
var types = assembly.GetTypes();
foreach (Type t in types){
foreach (var method in t.GetMethods()){
foreach (var attributes in tm.GetCustomAttributes())
{
if (attributes is DescriptionAttribute){
var d = propertyList.Properties["Description"][0].ToString();
if(d != null){
scenLst.Add();
}
}
}
}
}
catch (Exception ex){...}
return scenLst;
}
要获取标记,请使用CategoryAttribute(来自NUnit(。