質問編集履歴

1

追加で分かったことあるので修正です

2025/02/08 12:11

投稿

gomes_2222
gomes_2222

スコア96

test CHANGED
File without changes
test CHANGED
@@ -2,15 +2,14 @@
2
2
  メソッドにキーワード引数が含まれるものをテストする時、メソッドが呼び出されたかをテストしたいのですが、キーワード引数の書き方をしているはずなのになぜかオプションハッシュとして認識されているらしく、バグではないかと思っています。
3
3
 
4
4
  ### 発生している問題・分からないこと
5
- 正しく書いているはずなのにテストが通過しません。
6
- メソッドのオリジナルの現実と挙動としては、キーワード引数が渡されていることが正解す。
5
+ なぜ、newたインスタンス後ろにキーワード引数をかくと、オプションハッシュと認識され、エラーになっしまうんしょうか?
7
- なんでまくいかないんでしょうか?
6
+ saveしたかどうかがポイントでしょうか?
8
7
 
9
8
  ### エラーメッセージ
10
9
  ```error
11
10
  expect(Test).to have_received(:test).with(user exclude: false)はテストを通過します。
12
11
  しかし、
13
- expect(Test).to have_received(:test).with(user exclude: true)はエラーになります。
12
+ expect(Test).to have_received(:test).with(User.new(name: "田中"), exclude: true)はエラーになります。
14
13
  以下のようなエラーでテストが落ちます。
15
14
 
16
15
  expected: , {:exclude=>true}) (options hash)