baa*_*h05 12 rspec ruby-on-rails mocking
我的项目在rspec_helper.rb文件中设置了此值
mocks.verify_partial_doubles = true
Run Code Online (Sandbox Code Playgroud)
我有一个被标记的测试
TaskPublisher does not implement #publish
Run Code Online (Sandbox Code Playgroud)
问题是该对象在实例化之前不存在于该对象上.它是基于要发布的任务类型的模块导入.(元编程)
所以我想知道是否有办法关闭verify_partial_doubles特定测试,但不会影响其他具有该值的测试.
附带问题:没有将此标志设置为true会使BDD无法实现吗?在我看来,它在Mocking面前飞行,因为它的定义(https://stackoverflow.com/tags/mocking/info).
Jar*_*eck 19
[有没有]关闭特定测试的[verify_partial_doubles]的方法..?
RSpec> = 3.6
使用 without_partial_double_verification
it 'example' do
without_partial_double_verification do
# ...
end
end
Run Code Online (Sandbox Code Playgroud)
http://rspec.info/blog/2017/05/rspec-3-6-has-been-released/
RSpec <3.6
# In your spec ..
describe "foo", verify_stubs: false do
# ...
end
# In spec_helper.rb
RSpec.configure do |config|
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
config.around(:each, verify_stubs: false) do |ex|
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = false
ex.run
mocks.verify_partial_doubles = true
end
end
end
Run Code Online (Sandbox Code Playgroud)
我相信这项技术的功劳归功于他在rspec-rails问题#1076中的帖子Nicholas Rutherford.
| 归档时间: |
|
| 查看次数: |
1190 次 |
| 最近记录: |