我有一個具有以下簽名的方法RSpec的參數匹配,包括一個可選的參數
def my_method(first, second = {})
因此,它可以以兩種方式調用的方法...
my_method 'first'
my_method 'first', { second: 'value' }
我只對我的測試中測試第一個參數的值感興趣,因此我試圖提出一個RSpec匹配器語句來完成這項工作。我有壁櫥裏
expect_any_instance_of(my_clazz).to receive(:my_method).with(code, anything).once
但是,當我不在第二個參數傳遞,出現以下錯誤
expected: ('first', anything)
got: ('first')
我知道你可以通過不同的匹配到阿森納的失敗with
方法我找不到任何能夠以這種方式執行可選任務的任何東西。
任何人都可以提供有關如何實現這一目標的見解嗎?
rspec跟蹤器上的這個[issue](https://github.com/rspec/rspec-mocks/issues/707)意味着目前沒有特別簡單的方法來執行此操作 –
從這個問題看起來像你的權利。可能不得不觀察並等待這些問題得到解決。感謝您的鏈接 –