Specflow没有匹配的步骤定义错误

时间:2018-01-10 21:39:22

标签: visual-studio specflow

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();

}
}
}

1 个答案:

答案 0 :(得分:1)

删除&lt;和&gt;从404.这是我在这里看到的唯一不合逻辑的东西。

另一个解决方案可能是返回(。*)之间没有空格。这个步骤没有结果,因为没有任何事情发生。所以你需要在方法中添加一个动作。