2016-02-11 32 views
0

首先我是新來的新來的SpecFlow。我會努力盡可能清楚,因爲我仍在探索解決我的問題的方法,所以請耐心等待:)SpecFlow - 有沒有一種方法可以使用用戶輸入設置的值運行VS以外的場景?

好吧,我來。我有一個解決方案(讓我們稱之爲DBHelper)在數據庫上做了一些操作,我想在BBD中提供一個工具(使用specflow)來確定和設置一個使用自動運行測試軌的測試套件。這些測試可以是由單個場景運行多次但具有不同值的集合。我在開發這個工具時還很早,所以我現在的版本連接到DBHelper,並在運行NUnit的SpecRun時執行單個操作。

這裏是我的方案: 場景:InsertBuildCommand

Given The build name is AmazingTest 
And The build type is Test 
And The platform is PC 
And The number of files in the build is 13 
And Each file is 8 MB 
And The project code name is UPS 
And The studio code name is MTL 
And The environment is TEST 
When The command executes 
Then The build should be inserted in the DB with the correct files in it 

我現在正在FO的方式使這個場景動態。我最終希望用戶輸入能夠運行的場景,但他的值的選擇(例如:構建的名稱將是MoreAmazingTest),而不在VS.我知道你可以從命令行運行SpecRun,但對於如何縮小硬編碼的場景值和用戶輸入之間的差距,我無能爲力。這些步驟包含有用的正則表達式,因此它實際上只是場景值。

有人告訴我編寫自定義插件或反向工程師Specrun的代碼,並對其進行修改後的版本,但我不知道這將如何幫助我。請原諒我,如果一切都有意義我不是專家:x

非常感謝!

回答

0

如果我正確理解您的問題,則可以使用場景大綱而不是場景。 Scenario Outline help

你會再有這樣的事情:

Scenario Outline: test using multiple examples 
    Given I do something 
    When I enter <numbers> 
    And I click a button 
    Then I will have an answer 

Examples: 
|numbers| 
|1  | 
|2  | 
|3  | 

然後它會運行給出每個例子同樣的情景。

0

一種方法是定義某種配置文件,其中步驟定義將讀取並對其執行測試。在更改文件後,您可以從命令行或VS運行測試,然後它將讀取文件並從中獲取數字。

相關問題