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

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

我一直关注这篇关于使用它的关键实验室文章 ,但由于某种原因它没有超越第一步:第一步是绿色(创建应用程序),但是下一步尝试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 / aruba / folding 。 在探索源头一段时间后,我无法想出任何原因。 有没有其他人有这个gem的经验,发现了同样的事情?

是否有任何不错的BDD替代方案来测试发电机或佣金任务等?

进一步回答Ryans:

一旦我将以下内容添加到features/support/env.rb (从base rails目录开始):

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

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

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

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

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

事实certificate,通过简单地观察输出包含此过程有效的app / mailers 。 这是非常量子的,很可能是Aruba或Rails中的一个bug。 我不确定哪个。