我的项目是一个C#自动化测试框架,使用Specflow功能文件和步骤定义设计。
我现在添加了一个名为Program.cs - Int Main类的入口点类,但是我注意到在运行自动化测试时不会调用此入口点类。可能是因为我正在运行Specflow,Programe.cs Int Main类不会以通常的方式运行。
如何让Program.cs -Int Main类充当我设计中的入口点类?
namespace Project.Core
{
public class Program
{
public static int Main(string[] args)
{
Adapter.DefaultSearchTimeout = 5000;
int error;
try
{
error = TestSuiteRunner.Run(typeof (Program), Environment.CommandLine);
}
catch (Exception e)
{
TestReport.Setup(ReportLevel.Debug, "myReport.rxlog", true);
Report.Screenshot();
throw new ApplicationException("Error Found", e);
}
return error;
}
}
}
答案 0 :(得分:1)
通常,SpecFlow测试的入口点是SpecFlow要素文件,您可以在其中定义测试。 C#代码进入的第一点是绑定到测试执行的第一步的C#类。您可以通过在测试上方添加“@tagname”来标记要素文件中的测试。现在,您可以使用绑定'[BeforeScenario(“tagname”)]'创建一个C#方法,以确保在使用标记'@tagname'开始测试之前始终运行此方法。类似的方法可用于特定步骤,特定功能或完整的测试运行。
希望这有帮助