使用SPEC流并运行已在其背后实现代码的功能文件时,我看到了:
techtalk.specrun.pendingtestexception:一个或多个步骤
没有找到匹配的步骤定义
我都有每个功能背后的代码,无论我尝试什么,我都会继续进行待处理的输出。
,例如
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);
}
}
}
您的问题是,正如错误消息告诉您的那样,您没有正确的绑定。
您的步骤具有绑定:
[Given(@"I browser to Url ""(.*)""")]
它要求绑定:
[Given(@"I browse to Url""(.*)""")]
请注意Url
之后缺失的空间?
从您的绑定定义中删除空间,一切都可以正常工作。
还建议您在方案文件中使用单个引号,它使绑定更易于阅读。因此,Given I browse to the Url'http://google.com/'