🖥

Rspec のエラー - expected: 1 time with any arguments / received: 2 times w

2024/11/09に公開

エラー例

expected: 1 time with any arguments
received: 2 times with any arguments

原因

1回だけのメソッド呼び出しを期待しているのに、2回呼び出されている

修正の例

- expect(SomeClass).to receive(:foo)
+ expect(SomeClass).to receive(:foo).at_least(:once)

注意

「1回以上呼び出される」という検証にしてしまうと、検証的にはゆるい
適切な回数分だけ呼び出されることを検証した方が確かだ

expect(SomeClass).to receive(:foo).exactly(2).times

参考

https://rspec.info/documentation/3.5/rspec-mocks/RSpec/Mocks/MessageExpectation.html

公開日時

2024-10-29

https://qiita.com/YumaInaura/items/e173ab13c217961a245d

Discussion