当使用Spec Flow并运行已经在其后面实现代码的功能文件时,我看到了:
Techtalk.Specrun.PendingTestException:找不到一个或多个步骤的匹配步骤定义
我在每个功能背后都有代码,无论我尝试什么,我都会继续获得待定输出。
e.g。
Given I browse to Url "http;//www.google.co.uk"
-> No matching step found for the step definition
[Given(@"I browse to Url""(.*)""")]
Public void GivenIBrowseToUrl(String p0)
{
ScenarioContext.Current.Pending();
}
但是我为此功能实现的代码如下:
using System;
using System.Diagnostics;
using TechTalk.SpecFlow;
namespace UserJourney
{
[Binding]
public class PhoneJourneySteps
{
[Given(@"I browser to Url ""(.*)""")]
public void GivenIBrowserToUrl(string url)
{
Process.Start(url);
}
}
}
答案 0 :(得分:0)
正如错误消息告诉您的那样,您的问题是没有正确绑定的步骤。
你的步骤有绑定:
[Given(@"I browser to Url ""(.*)""")]
它要求绑定:
[Given(@"I browse to Url""(.*)""")]
注意Url
后的遗失空间?
从绑定定义中删除空格,一切正常。
另外,我建议在方案文件的步骤中使用单引号,这样可以更轻松地读取绑定。那么Given I browse to the Url'http://google.com/'