在我的项目中,C#入口点类不会随时被调用

时间:2014-05-02 13:46:44

标签: c# specflow

我的项目是一个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;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

通常,SpecFlow测试的入口点是SpecFlow要素文件,您可以在其中定义测试。 C#代码进入的第一点是绑定到测试执行的第一步的C#类。您可以通过在测试上方添加“@tagname”来标记要素文件中的测试。现在,您可以使用绑定'[BeforeScenario(“tagname”)]'创建一个C#方法,以确保在使用标记'@tagname'开始测试之前始终运行此方法。类似的方法可用于特定步骤,特定功能或完整的测试运行。

希望这有帮助