Advertisement
Guest User

Untitled

a guest
Jul 16th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. require 'rails_helper'
  2.  
  3. class TestUser
  4. def speak
  5. :speak
  6. end
  7.  
  8. def eat
  9. :eat
  10. end
  11. end
  12.  
  13. RSpec.describe 'Partial test doubles' do
  14. let(:user) { TestUser.new }
  15.  
  16. context 'when stubs are applied' do
  17. it 'applies test behavior for stubbed methods' do
  18. allow(user).to receive(:speak).and_return(:yell)
  19.  
  20. expect(user.speak).to eq(:yell)
  21. end
  22.  
  23. it 'skips test behavior for non stubbed methods' do
  24. allow(user).to receive(:speak).and_return(:yell)
  25.  
  26. expect(user.eat).to eq(:eat)
  27. end
  28. end
  29.  
  30. context 'when mocks are applied' do
  31. it 'applies test behavior for mocked methods' do
  32. expect(user).to receive(:speak).and_return(:yell)
  33.  
  34. expect(user.speak).to eq(:yell)
  35. end
  36.  
  37. it 'skips test behavior for non mocked methods' do
  38. expect(user).not_to receive(:speak)
  39.  
  40. expect(user.eat).to eq(:eat)
  41. end
  42. end
  43. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement