在测试lib
代码时,很少需要spec_helper
并加载所有rails。这就是为什么我一直在移除require "spec_helper"
以支持require_relative "../../lib/my_lib.rb"
。
这些测试在直接调用(rspec spec/lib/my_lib.rb
)时通过,速度非常快。赢家。
当我尝试将这些测试作为一个小组运行时,我的问题出现了。
当我致电rspec spec/lib
时,它会运行任何lib
个require "spec_helper"
行的规范,但不会运行任何不适合的测试。
我已经使用spec_helper.rb
来加载这些测试,这种方式只是意味着当我运行rspec spec/models/blah.rb
时它也会运行这些lib
测试,这显然不是#39; t我想要的。
我应该采用不同的方式来调用我的测试吗?或者有没有办法将它们添加到测试运行中?
我的spec_helper
配置为以随机顺序运行测试,我想知道这与它有什么关系吗?
答案 0 :(得分:1)
您应该将_spec
添加到您的文件中:
spec/lib/my_lib_spec.rb
Rspec rake任务仅查找以_spec
结尾的文件。