我有一个非常有趣的问题。当我用rspec spec/controllers
运行我的规格时,它们都会通过。当我使用rspec spec
运行它们时,它们会失败。
以下是他们失败的原因:
✗ rspec spec
F...........
Failures:
1) PeopleBridge::OAuthController GET login redirects
Failure/Error: cookies.clear
NoMethodError:
undefined method `stringify_keys' for nil:NilClass
# ./spec/controllers/people_bridge/o_auth_controller_spec.rb:9:in `block (3 levels) in <top (required)>'
Finished in 0.04187 seconds
12 examples, 1 failure
我强烈怀疑我得到的特定错误并不是重要的部分。我已经花了很长一段时间才去掉那个兔子洞。我现在的好奇心是运行rspec spec/controllers
和rspec/spec
之间有什么区别?
答案 0 :(得分:0)
基本上rspec
之后指定的只是文件或rspec将要运行的文件目录。
您的错误可能是由于在测试执行失败之前完成的事情而出现的,这是在spec / controllers目录之外完成的。
答案 1 :(得分:0)
rspec spec
所有测试都在运行,而不仅仅是控制器测试。我可以想象,当你运行整个测试套件时,控制器与另一个只运行的测试之间存在意外的关联。可能是某些内容已初始化或未正确清理。
尝试指定不同的测试组合,以找出导致问题的原因。
答案 2 :(得分:0)
请试试这个..
bundle exec rake spec