以下の内容はhttps://ys3128.hatenadiary.jp/entry/2022/10/12/085116より取得しました。


Minitest::Mock#expectで ArgumentError: mocked method :method_name expects 1 arguments, got [] が出た件

結論

  • minitest5.16.0からキーワード引数の指定方法が変わった
  • 第三引数以降にkey, valueのキーワード引数を書いたらOK

概要

minitestで下記のエラーが出るようになった

ArgumentError: mocked method :method_name expects 1 arguments, got []

理由

元々、minitestにキーワード引数を渡すときは、第三引数にキーワード引数を渡していた。 ※コードは適当 github.com

tax_mock = Minitest::Mock.new
tax_mock.expect(:tax, 8, [{ price: 100, tax_rate: 0.08 }])

が、5.16.0からkwargsに対応している。 github.com github.com

なので、5.16.0以降は、キーワード引数の場合、下記のように記述することになる。

tax_mock = Minitest::Mock.new
tax_mock.expect(:tax, 8, price: 100, tax_rate: 0.08)



以上の内容はhttps://ys3128.hatenadiary.jp/entry/2022/10/12/085116より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14