specflow新手。当我在下面运行时,它继续在Then步骤上失败,因为没有结果。我需要做些什么才能通过?
public virtual void SearchAPICalledWithMissingParameter()
{
TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search API called with missing parameter", new string[] {
"search"});
#line 8
this.ScenarioSetup(scenarioInfo);
#line 9
testRunner.Given("I call Search API without parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given ");
#line 10
testRunner.When("I get the response back from API", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line 11
testRunner.Then("API returns <404>", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line hidden
this.ScenarioCleanup();
}
}
}
运行测试时出现以下错误。
No matching step definition found for one or more steps.
Using system:
Using TechTalk.SpecFlow;
namespace Mynamespace
{
[Binding]
public class StepDefinitions
{
[Then(@"API returns(.*)")]
public void ThenAPIReturns(string p0)
{
ScenarioContext.Current.Pending();
}
}
}
答案 0 :(得分:1)
删除&lt;和&gt;从404.这是我在这里看到的唯一不合逻辑的东西。
另一个解决方案可能是返回(。*)之间没有空格。这个步骤没有结果,因为没有任何事情发生。所以你需要在方法中添加一个动作。