首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在用ruby编写用于自动测试的代码时修复gherkin中的Parser错误

如何在用ruby编写用于自动测试的代码时修复gherkin中的Parser错误
EN

Stack Overflow用户
提问于 2019-02-16 07:11:32
回答 1查看 3K关注 0票数 0

我创建了search.featuresearch.rb文件来构建自动测试。之后,我在终端上运行命令并得到一个错误。怎么修呢?

我在windows上用Ruby 2.6.1Cucumber 3.1.2在Linux子系统上试用过

这是search.feature文件的代码:

代码语言:javascript
复制
    The google homepage allows user to perform a search.

    Scenario Outline: Users can perform a search on Google
        Given I open the Google search page
        When I search for "<search>"
        Then I should see the results page

    Examples :
        | search    |
        | baju      |
        | bola      |
        | indonesia |

这是search.rb文件的代码:

代码语言:javascript
复制
Given /^I open the Google search page$/ do
    visit "/"
end

Given /^I search for "(.*?)"$/ do |search_term|
    @page_search = SearchPage.new
    @page_search.search(search_term)
end

Then /^I should see the results page$/ do
    expect(@page_search).to have_search_field
end

之后,当我在终端上运行命令时,会得到如下错误:

代码语言:javascript
复制
➜  cucumber-native cucumber
features/scenario/search/search.feature: Parser errors:
(9:2): expected: #EOF, #TableRow, #DocStringSeparator, #StepLine, #TagLine, #ExamplesLine, #ScenarioLine, #ScenarioOutlineLine, #Comment, #Empty, got 'Examples :' (Cucumber::Core::Gherkin::ParseError)
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:34:in `rescue in document'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core/gherkin/parser.rb:28:in `document'/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:30:in `block in parse'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in `each'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:29:in `parse'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-core-3.2.1/lib/cucumber/core.rb:21:in `compile'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-3.1.2/lib/cucumber/runtime.rb:75:in `run!'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-3.1.2/lib/cucumber/cli/main.rb:34:in `execute!'
/home/oimtrust/.rvm/gems/ruby-2.6.1/gems/cucumber-3.1.2/bin/cucumber:9:in `<top (required)>'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/cucumber:23:in `load'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/cucumber:23:in `<main>'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/ruby_executable_hooks:24:in `eval'
/home/oimtrust/.rvm/gems/ruby-2.6.1/bin/ruby_executable_hooks:24:in `<main>'
EN

回答 1

Stack Overflow用户

发布于 2019-02-16 07:58:42

Examples部分必须嵌套在Scenario

代码语言:javascript
复制
Scenario Outline: Users can perform a search on Google
    Given I open the Google search page
    When I search for "<search>"
    Then I should see the results page

    Examples:
        | search    |
        | baju      |
        | bola      |
        | indonesia |
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54720760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档