如何在摩卡期望中传递一个块内的任意空间(Ruby)
问题描述:
我试图验证传递块的方法的期望。一切工作完全正常,只要我不使用任何关键字,但我需要使用任何关键字的,以便不符合期望的所有部分。如何在摩卡期望中传递一个块内的任意空间(Ruby)
实际功能要测试的呼叫。
RestClient::Request.execute(:method => :post, :url => some_url, :headers => {}.to_json, :payload => {}.to_json)
,当我测试它,
这些工作(注意:任何的使用)
RestClient::Request.expects(:execute).with(:method => :post, :url => some_url, :headers => {}.to_json, :payload => {}.to_json)
RestClient::Request.stubs(:execute).with(:method => :post, :url => some_url, :headers => {}.to_json, :payload => {}.to_json)
RestClient::Request.stubs(:execute).with(anything)
这不(注意用法任何东西)
RestClient::Request.stubs(:execute).with(:method => :post, :url => some_url, :headers => anything, :payload => anything)
我的问题是,我只想验证URL和方法,而不是请求的标头和正文。我错过了什么?
答
想通了 - 在情况下,它可以帮助别人,这是它是如何做
使用。随着将要被(has_entries(...))方法和仅传递PARAMS验证 - 避免通过任何东西到.with方法。
RestClient::Request.expects(:execute).with(has_entries(:method => :post, :url => url))