2014-12-07 32 views
1

我想初始化我的测试类中的WebDriver属性,当我想在场景中使用它时它是'Null ”。当我调用SpecFlow钩子[BeforeScenario]测试类非测试类中的静态属性值不被保存

在这里的例子中,当我尝试导航到一些URL我得到空异常。

例子:

[BeforeScenario] 
    private void BeforeScenario() 
    { 
     TestInitilaize(); 
    } 

[TestInitialize] 
    public void TestInitilaize() 
    { 
     InitializeTest(); 
    } 

protected virtual void InitializeTest() 
    { 
     WebDriver = new FirefoxDriver(); 
    } 

[Given(@"Some Given")] 
    public void GivenMethod() 
    { 
     WebDriver.Navigate().GoToUrl("www.someurl.com"); 
    } 

回答

0

这个问题可能是你的[BeforeScenario]方法是私有的。你是否检查过该方法实际上是在调试器中调用的?

+0

是的,调试器正在调用该方法。 – Udiy 2014-12-08 11:24:33

+0

你是对的,因为它是私人的,它被称为,但我想因为我有一个继承它为基类工作,当我改变它公开的[BeforeScenario]被调用两次,但值保存,我可以用它在我的specflow的步骤。 – Udiy 2014-12-08 15:13:49