2010-07-04 90 views
1

我得到了我的Mac OS X框上的Rails和黃瓜。當我嘗試運行以下情形:黃瓜情況失敗,沒有錯誤信息

Feature: ActorDetail 
    In order to learn about an actor 
    As a costumer 
    I want to see their details 

Scenario: Actors page should exist 
Given I am on actor page 
Then I should see "Actors" 

當我嘗試運行我得到以下測試:

kevin:11:17 PM:~/Documents/Rails/testApp: cucumber 
Using the default profile... 
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning:  Gem::Dependency#version_requirements is deprecated and will be removed on or after August  2010. Use #requirement 
F--F 

Failing Scenarios: 
cucumber features/ActorDetail.feature:6 # Scenario: Actors page should exist 

1 scenario (1 failed) 
2 steps (2 skipped) 
0m0.138s 

這是一個失敗的測試,但不是我想它想的方式失敗,如果你知道我的意思。我期待一個消息,告訴我,有沒有爲「演員」定義

有趣的是,如果我從雙單引號「演員」改變路徑,這就是我得到:

kevin:11:09 PM:~/Documents/Rails/testApp: cucumber 
Using the default profile... 
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement 
F-UF 

Failing Scenarios: 
cucumber features/ActorDetail.feature:6 # Scenario: Actors page should exist 

1 scenario (1 failed) 
2 steps (1 skipped, 1 undefined) 
0m0.144s 

我很抱歉,如果我提供的信息不足,我已經安裝了什麼寶石,配置等。到目前爲止,我一直在Rails上開發了大約三個小時。

非常感謝,

KevDog

更新 我做了寶石更新,現在事情似乎變得更糟。這是當前的錯誤:

kevin:12:29 AM:~/Documents/Rails/testApp: cucumber 
Using the default profile... 
/usr/local/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement 
/Users/kevin/.gem/ruby/1.8/gems/nokogiri-1.4.2/lib/nokogiri/nokogiri.bundle: [BUG] Bus Error 
ruby 1.8.7 (2008-05-31 patchlevel 0) [i686-darwin9.4.0] 

Abort trap 

這聽起來不太好。

回答

-3

檢查空白。在您發佈的示例中,它沒有正確縮進。

Feature: ActorDetail 
In order to learn about an actor 
As a costumer 
I want to see their details 

Scenario: Actors page should exist 
    Given I am on actor page 
    Then I should see "Actors" 
+0

據我所知,在該行的開頭空格準備測試數據庫中沒有對黃瓜功能的行爲產生影響。 – carols10cents 2010-08-19 15:49:35

0

對於Gem::Dependency#version_requirements is deprecated警告,看起來您需要升級Rails(至少2.3.6)。 Rails 2.3.6和2.3.7都包含a commit that fixes the warning you are seeing。我不知道爲什麼你的寶石更新不會解決這個問題,除非是因爲它只是試圖更新你的主目錄中的寶石(我沒有嘗試使用每個用戶的GEM_HOME,所以我不知道它將如何相互作用需要安裝包含在系統gem目錄中的更新版本的gem)。也許你需要做sudo /usr/local/bin/gem update,而不是你之前運行的任何更新(確保移動到一邊或刪除家庭寶石目錄中破損的nokogiri安裝)。

在步驟Then I should see中使用單引號和雙引號時,結果的差異可能是由於沒有與單引號版本匹配的步驟定義。檢查你的features/step_definitions/web_steps.rb文件以驗證這一點(我的Cucumber 0.8.0版本包含JSON變體,雙引號分隔變體(文字字符串)和斜線分隔變體(正則表達式匹配),但沒有單引號變體。

此外,您可能需要使用the actor page而不是actor page,或features/support/paths.rb定義actor page路徑映射。

7

使用下面的命令來運行你的黃瓜功能,這將給出詳細的輸出。

cucumber --format pretty 
+0

什麼救生員,謝謝! – ericraio 2015-01-01 22:58:29

0

您是否嘗試過這樣做的:

rake gems:install RAILS_ENV=test 

這應該安裝所有需要的測試環境中的寶石。 此外,這取決於你是否有任何型號尚未確定,可能還需要與

rake db:test:prepare