2010-12-15 89 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