2012-10-28 45 views
1

我创建只是一个特征文件(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>' 

,它消失了,当我加入了捆绑高管

+1

你有没有什么可能会行为不端的行为? –

+0

我没有使用bundle exec时出错。(看看我的帖子的更新) – user655561

回答

0

你初始化数据库和运行“捆绑安装'?没有bundle exec的错误是因为你的bundle想要一个不同于当前安装的版本的主动支持。

Rails鼓励约定优于配置。功能名称的约定是小写snake_case。

看看你的其他功能。黄瓜似乎执行所有功能的方式,你正在调用它。这可能是目录中其他内容的问题。

你有任何步骤文件?他们也可能是你的问题。

此外,Stackoverflow并不是真的提出有关家庭作业问题的地方(有一个论坛)。