2010-12-15 88 views
1

我剛安裝了aruba寶石,它是黃瓜的延伸。它允許你測試命令行應用程序 - 比如Rails中的生成器(但是,正如文檔所指出的那樣,你可以將它用於任何cmd應用程序)。阿魯巴黃瓜測試(ruby1.9.2)

我一直在關注this pivotal labs article如何使用它,但由於某些原因,它不闖過第一步:第一步是綠色(創建應用程序),但下面的步驟嘗試cd test_app和可以」找到它並失敗。

Given I run "rails new test_app"      # features/step_definitions/aruba_steps.rb:95 
And I cd to "test_app"         # features/step_definitions/aruba_steps.rb:91 
    tmp/aruba/test_app is not a directory. (RuntimeError) 
    ./features/step_definitions/aruba_steps.rb:92:in `/^I cd to "([^"]*)"$/' 
    features/generators.feature:9:in `And I cd to "test_app"' 

這樣看來,應用程序文件夾實際上並沒有被創造,但看在底層目錄我可以看到TMP /阿魯巴/摺疊。經過一段時間的探討後,我無法想出爲什麼。 有沒有人有任何這種寶石的經驗,並找到相同的東西?

是否有任何很好的BDD替代品來測試生成器或耙子任務等?

繼Ryans回答:

一旦添加以下到features/support/env.rb(從基礎工作軌道目錄):

Before do 
    @dirs = [File.expand_path(File.dirname(__FILE__) + '/../../../aruba_test_dir')] 
end 

所以,黃瓜是建設應用外的電流 rails應用程序,這解決了這個問題。

回答

2

我最初的想法:我認爲如果Rails不在你的包中,會導致這種情況。但你看起來像個聰明人,所以我試着重複你的例子,發現我得到了同樣的東西。

困惑,我確信,我得到的輸出:

Scenario: title 
    Given I run "rails new test_app" 
    Then the output should contain: 
    """ 
     app/mailers 
    """ 
    And I cd to "test_app" 

事實證明,通過簡單的觀察輸出包含應用程序/郵寄這個過程的工作。它非常龐大,很可能是Aruba或Rails中的一個bug。我不確定哪個。

+0

D ** ned波函數。謝謝! – scaney 2010-12-15 02:21:44