2012-02-27 68 views
10

我正在使用Specflow(http://specflow.org/)編寫一些集成測試,我想運行一個場景。有什麼方法可以用Resharper 6運行單一場景?順便說一下,我配置specflow使用MSTest。如何在Resharper中運行單個Specflow場景

我Specflow測試看起來像:

Feature: Customer management 

Scenario: Add a new Customer into system 
    Given the User has entered the customer with the following data 
    | name | last_name | birthday | 
    | Peter | Stein  | 12.09.1955 | 
    When the User has pressed the Save Button 
    Then the following customer should be stored in the data base 
    | name | last_name | birthday | 
    | Peter | Steim | 12.09.1955 | 

Scenario: Second scenario..... 

Scenario: Third scenario..... 

我想只運行第一個場景。

回答

10

如果您正在使用ReSharper運行,那麼我只需打開功能文件,右鍵單擊場景中的任意位置,然後從彈出式菜單中選擇「運行Specflow場景」。它只運行你所處的一種場景。

請注意,我使用ReSharper來運行測試。

0

每個場景應該最終成爲一個MSTest。在ReSharper中,我通常會進入單元測試瀏覽器(Control + Alt + U),確保將設置爲項目和命名空間,然後導航到我的驗收測試項目,打開我的命名空間功能(我將目錄中的功能文件放在匹配的命名空間中),然後展開該功能以查看所有單個測試/場景。只選擇其中一個,然後單擊「運行」或「調試」按鈕應執行該測試。

+0

嗨邁克爾,謝謝你的回答。這是一個很好的解決方案,但它似乎是一個解決方法。我正在尋找的是插件或其他方式來運行場景,就像單元測試一樣。 – Diego 2012-02-28 08:12:41

+0

我很困惑你的評論。 SpecFlow將每個場景轉換爲單元測試。我的答案是解釋如何運行一個單元測試,這恰好是一種情況。也許我不明白你在找什麼...... – 2012-02-29 16:31:03

+0

嗨邁克爾,你是對的,specflow將每個情景轉化爲單元測試,並且你的建議很有用。不過,我想到了一個解決方案,我在編輯器中選擇一個場景,然後運行它。例如使用resharper編輯單元測試時,爲了執行它,我們有一個綠色的點。有了你的建議,我必須搜索生成的單元測試,並且當我有很多方案時需要一些時間。也許我正在尋找一個選項,它不是仍然在Resharper中實現。你懂我的意思嗎? – Diego 2012-02-29 22:46:05

1

我所做的是彈出打開生成的c#文件,並在那裏找到生成的測試,並使用我設置的resharper測試運行器來執行規格的鍵盤快捷鍵(並可以使用綠色/黃色球與鼠標太)。它不是理想的,我同意如果你只是從特性文件執行,那將是非常棒的。我還沒有在那裏找到任何類似的東西。將是一個有價值的項目,試圖找出一種方式來實現插件的發生。不知道會發生什麼。

相關問題