如何从specflow dll中获取所有场景的列表



或来自其他地方。。

  • 我想要的是:在开始测试时获取所有场景名称,但在不启动所有测试的情况下
  • 我尝试的是:通过程序集反射,我扫描了内容,但其中一个只包含功能名称和方法名称。不是方案名称。(由此:以编程方式获取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(。

相关内容

  • 没有找到相关文章

最新更新