在BeforeTestRun钩子中初始化一个类,并在BeforeScenario中使用它

时间:2018-05-24 08:08:11

标签: c# unit-testing specflow

我在specflow单元测试中使用范围报告。 我在1个解决方案中有2个项目。我有一个单独的项目来创建一个钩子文件,这个项目对于这两个项目都很常见。 我需要在BeforeTestRun钩子中初始化我的extentreports对象并在BeforeScenario中使用它。 我没有办法访问相同的。 到目前为止,这是我的代码:

 public static void BeforeFeature()
    {
        extentReports = new ExtentReports();

        htmlReporter = new ExtentHtmlReporter(FeatureContext.Current.FeatureInfo.Title + ".html");

        htmlReporter.Configuration().Theme = Theme.Dark;

        extentReports.AttachReporter(htmlReporter);
        TestcaseConst._logger = LogManager.GetCurrentClassLogger();

        FeatureContext.Current.Set<ExtentReports>(extentReports);
    }

    [BeforeScenario]
    public static void BeforeScenario()
    {
        extentTest = FeatureContext.Current.Get<ExtentReports>().CreateTest(ScenarioContext.Current.ScenarioInfo.Title, "This test is to check the status of API under test");
        ScenarioContext.Current.Set<ExtentTest>(extentTest);
    }

现在,我需要将BeforeFeature下的代码转换为BeforeTestRun,但是我没有保存这样的东西&#34; FeatureContext.Current.Set(extentReports);&#34;在BeforeTestRun中。

如果有人知道,请帮助。 在此先感谢。

0 个答案:

没有答案