阿鲁巴黄瓜试验(ruby1.9.2)

时间:2010-12-15 00:44:47

标签: ruby-on-rails cucumber bdd ruby-on-rails-3

我刚刚安装了aruba gem,它是黄瓜的延伸。它允许您测试命令行应用程序 - 比如Rails中的生成器(但是,正如文档所指出的,您可以将它用于任何cmd应用程序)。

我一直关注this pivotal labs article使用它,但由于某种原因,它没有超过第一步:第一步是绿色(创建应用程序),但下一步尝试{ {1}}无法找到并失败。

cd test_app

看起来实际上并没有创建应用程序文件夹,虽然查看基础目录我可以看到tmp / aruba / folding 。在探索源头一段时间后,我无法想出任何原因。 有没有其他人有过这个宝石的经验并发现了同样的事情?

是否有任何不错的BDD替代方案来测试生成器或rake任务等?

进一步回答Ryans:

我将以下内容添加到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"' (从base rails目录开始):

features/support/env.rb

因此黄瓜正在构建当前rails应用程序的外部,这解决了这个问题。

1 个答案:

答案 0 :(得分:2)

我最初的想法:我认为导致这种情况的原因是如果Rails不在你的包中。但你看起来像个聪明人,所以我试着复制你的例子,发现我得到了同样的东西。

困惑,我确定我得到了输出:

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

结果只是观察输出包含 app / mailers 这个过程有效。这是非常量子的,很可能是Aruba或Rails中的一个bug。我不确定哪个。