如何设置rspec-rails以生成capybara的功能规范

11
我正在使用rspec-rails 2.12.0和capybara 2.0.1进行测试。在capybara 2.x中,您需要将规格放在spec/features而不是spec/requests中。如果我生成类似“rails g scaffold Model”的脚手架,是否有一种方法使rspec能够在正确的目录中为我生成功能规格?

是的!我也在想同样的问题!有什么办法吗?我需要让rspec也包括这些目录。你知道怎么做吗? - jlstr
@JoseE 我还没有想出什么。目前我只是关闭了请求规范的生成器,并手动将文件添加到功能文件夹中。 - jhummel
是的,我也是。我猜到目前为止还没有可用的生成器 :( - jlstr
1个回答

9
"控制器(controller)"和"请求(request)"规范与内部应用程序机制相关,因此可以通过模仿控制器结构的脚手架生成器自动生成。
"功能(Feature)"规范在概念上完全不同于这些规范,因为它们描述了用户与应用程序之间的交互,无法事先生成,因为没有有效地猜测要测试的功能。功能规范还跨越多个控制器,您不希望它们被映射到控制器脚手架中。唯一能做的事情是为您生成一个几乎为空的feature/xyz文件,以供填写,但这相当无用,因为很可能您将不得不删除/重命名它。

2
奇怪的是,José Valim在plataformatec博客中表示:“我们更改了RSpec的设置,不再生成spec/requests,而是生成spec/api和spec/features”。 - DazBaldwin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接