繁体   English   中英

黄瓜不测试任何定义的步骤

[英]Cucumber doesn't test any defined step

我只创建了一个功能文件(AddMovie.feature),其中包含:

Feature: User can manually add movie

Scenario: Add a movie
 Given I am on the RottenPotatoes home page
 When I follow "Add new movie"
 Then I should be on the Create New Movie page
 When I fill in "Title" with "Men In Black"
 And I select "PG-13" from "Rating"
 And I press "Save Changes"
 Then I should be on the RottenPotatoes home page 
 And I should see "Men In Black"

当我执行黄瓜用命令测试时:

bundle exec cucumber features/AddMovie.feature 

我得到这个结果:

Using the default profile...
Feature:  User can manually add movie

      Scenario:  Add a movie                              # features/AddMovie.feature:3
        Given I am on the RottenPotatoes home page
        When I follow "Add new movie"
        Then I should be on the Create New Movie page
        When I fill in "Title" with "Men In Black"
        And I select "PG-13" from "Rating"
        And I press "Save Changes"
        Then I should be on the RottenPotatoes home page 
        And I should see "Men In Black"

    1 scenario (1 passed)
    0 steps

通常,这种情况将失败,因为我没有添加“ RottenPotatoes主页”的路径。 如果您读完最后一行“ 0个步骤”,则表明黄瓜未运行任何步骤。

我怎样才能解决这个问题 ? 并让黄瓜测试AddMovie.feature中定义的步骤?

PS:当我使用命令黄瓜功能/Addmovies.feature时,出现此错误

Using the default profile...
You have already activated activesupport 3.2.8, but your Gemfile requires activesupport 3.1.0. Using bundle exec may solve this. (Gem::LoadError)
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.5/lib/bundler/runtime.rb:31:in `block in setup'
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.5/lib/bundler/runtime.rb:17:in `setup'
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.5/lib/bundler.rb:107:in `setup'
/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.1.5/lib/bundler/setup.rb:7:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/home/ubuntu/Desktop/hw2_rottenpotatoes/config/boot.rb:6:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/home/ubuntu/Desktop/hw2_rottenpotatoes/config/application.rb:1:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/home/ubuntu/Desktop/hw2_rottenpotatoes/config/environment.rb:2:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-rails-1.3.0/lib/cucumber/rails.rb:7:in `<top (required)>'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/home/ubuntu/Desktop/hw2_rottenpotatoes/features/support/env.rb:7:in `<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/rb_support/rb_language.rb:129:in `load'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/rb_support/rb_language.rb:129:in `load_code_file'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/runtime/support_code.rb:171:in `load_file'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/runtime/support_code.rb:82:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/runtime/support_code.rb:82:in `load_files!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:175:in `load_step_definitions'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:40:in `run!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:43:in `execute!'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:20:in `execute'
/usr/local/lib/ruby/gems/1.9.1/gems/cucumber-1.2.1/bin/cucumber:14:in `<top (required)>'
/usr/local/bin/cucumber:19:in `load'
/usr/local/bin/cucumber:19:in `<main>'

当我添加了Bundle exec时,它消失了

您是否已初始化数据库并运行“捆绑安装”? 没有bundle exec的错误是因为您的bundle需要与当前安装的版本不同的活动支持。

Rails鼓励使用约定而不是配置。 特征名称的约定是小写的snake_case。

查看您的其他功能。 黄瓜似乎可以执行您调用它的所有功能。 目录中的其他内容可能有问题。

您有步骤文件吗? 它们也可能是您的问题。

此外,Stackoverflow并不是真正问作业问题的地方(有一个论坛)。

我解决了这个问题,因为您的解决方案可以做到这一点

最新安装gem bundler

gem install bundler --no-ri --no-rdoc

然后运行cucumber features/find_movie_with_same_director.feature

如果仍然出现该错误,请按照下面的链接定义步骤

Ruby on Rails-运行黄瓜时出错:您已经激活了activesupport 3.2.1,但是您的Gemfile需要activesupport 3.1.0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM