2014-12-07 33 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