Techtalk.Specrun.PendingTestException:找不到一个或多个步骤的匹配步骤定义

时间:2015-05-13 12:28:38

标签: specflow specrun

当使用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);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

正如错误消息告诉您的那样,您的问题是没有正确绑定的步骤。

你的步骤有绑定:

[Given(@"I browser to Url ""(.*)""")]

它要求绑定:

[Given(@"I browse to Url""(.*)""")]

注意Url后的遗失空间?

从绑定定义中删除空格,一切正常。

另外,我建议在方案文件的步骤中使用单引号,这样可以更轻松地读取绑定。那么Given I browse to the Url'http://google.com/'