在测试 lib
代码时,很少需要要求 spec_helper
并加载所有 rails。这就是为什么我一直在删除 require "spec_helper"
以支持 require_relative "../../lib/my_lib.rb"
。
这些测试在直接调用时通过(rspec spec/lib/my_lib.rb
)并且速度非常快。获胜者。
当我尝试将这些测试作为一个组运行时,我的问题就来了。
当我调用 rspec spec/lib
时,它运行任何具有 require "spec_helper"
行的 lib
规范,但不运行任何测试't.
我已经玩过 spec_helper.rb
来加载这些测试,这种工作只是意味着当我运行 rspec spec/models/blah.rb
它还将运行这些 lib
测试,这显然不是我想要的。
我应该用不同的方式调用我的测试吗?或者有什么方法可以将它们添加到测试运行中?
注意事项
我的 spec_helper
配置为以随机顺序运行测试,我想知道这是否与此有关?
最佳答案
您应该将 _spec
添加到您的文件中:
spec/lib/my_lib_spec.rb
Rspec rake 任务将只查找以 _spec
结尾的文件。
关于ruby-on-rails - 不包含 spec_helper 的测试在 rspec 运行中被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32074706/