我刚刚安装了阿鲁巴 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"'看起来应用程序文件夹实际上并没有被创建,尽管在基本dir中我可以看到tmp/阿鲁巴/折叠是。在搜索了一段时间之后,我想不出原因是什么。有没有其他人有过这种宝石的经验,并发现了同样的东西?
除了测试生成器或rake任务之外,还有什么好的BDD替代方案吗?
关于Ryans的答复:
一旦我将以下内容添加到features/support/env.rb (从基本rails目录工作):
Before do
@dirs = [File.expand_path(File.dirname(__FILE__) + '/../../../aruba_test_dir')]
end因此,黄瓜正在构建当前rails应用程序之外的应用程序,这解决了这个问题。
发布于 2010-12-15 01:54:19
我最初的想法是:如果您的包中没有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,就会发现这个过程是可行的。它是非常量子的,很可能是阿鲁巴或Rails中的一个bug。我不确定是哪一个。
https://stackoverflow.com/questions/4445736
复制相似问题