我已經安裝了specflow。默認情況下,我得到這種情況下添加兩個數字。當我構建解決方案時,我得到這些錯誤。 「方法沒有超載'給定'需要4個參數」。我在這裏錯過了什麼?這是生成的文件。方法'Given'沒有超載需要4個參數 - specflow
public virtual void AddTwoNumbers()
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Add two numbers", new string[] {
"mytag"});
#line 7
this.ScenarioSetup(scenarioInfo);
#line 8
testRunner.Given("I have entered 50 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given ");
#line 9
testRunner.And("I have entered 70 into the calculator", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 10
testRunner.When("I press add", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line 11
testRunner.Then("the result should be 120 on the screen", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line hidden
this.ScenarioCleanup();
}
對於這樣的場景:
特點:SpecFlowFeature1 爲了避免愚蠢的錯誤 作爲一個數學白癡 我想告訴兩個數字
@mytag 方案的總和:添加兩個號碼 鑑於我已經輸入了50進入計算器 而且我已經輸入70進入計算器 當我按加 然後結果應該是120屏幕上
你可以發佈代碼,你得到的編譯錯誤?因爲默認生成Given:'[Given(「我輸入了(*)到計算器中」)]'應該編譯好。 – nemesv
更新了問題 – Virus
看來您使用的是舊版本的「TechTalk.SpecFlow」dll您的「TechTalk.SpecFlow」dll的版本是什麼?因爲它應該是1.9.0。能夠工作。你有沒有安裝它與nuget http://nuget.org/packages/SpecFlow? – nemesv