我的rspec
目录开始变得有点杂乱,所以我将所有规范移到了一个cases
目录中。这样做后 rspec 停止将*_controller_spec.rb
其视为:type => :controller
. 恢复这种行为的神奇方法是什么?
问问题
53 次
2 回答
1
相关评论形成了关于 rspec-rails github 页面的讨论:
rspec-rails 为各种规范类型提供的集成基于包含示例组的模块,这些模块基于规范文件所在目录的约定。查看示例文件夹以查看每个规范包含的所有模块类型。example.rb根据 file_path 将其全部连接起来。
您需要自己进行此接线,因为您超出了 rspec-rails 的“正常”约定。您可以在每个示例组中手动包含模块,使用元数据以类型标记示例组,并基于类型进行包含,或者使用与 rspec-rails 类似的 file_path 约定方法。
所以基本上,复制这个文件并替换所有对by的spec
in 调用,然后将其粘贴到你的块中。可能有一种更简单的方法,这正是我在谷歌搜索几秒钟后发现的(我自己从未真正尝试过)。escaped_path
spec cases
RSpec::configure
于 2012-11-10T23:42:44.250 回答
-1
如果您的意思是您有名为 like 的文件spec/foo_controller_spec.rb
,那么“正确”的做法是将它们放在名为controllers
. 所以你得到spec/controllers/foo_controller_spec.rb
.
rspec-rails的自述文件详细介绍了哪种规范放在哪个目录中。
于 2012-11-10T22:30:56.680 回答