2017-10-09 90 views
0

我试图验证传递块的方法的期望。一切工作完全正常,只要我不使用任何关键字,但我需要使用任何关键字的,以便不符合期望的所有部分。如何在摩卡期望中传递一个块内的任意空间(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和方法,而不是请求的标头和正文。我错过了什么?

回答

0

想通了 - 在情况下,它可以帮助别人,这是它是如何做

使用。随着将要被(has_entries(...))方法和仅传递PARAMS验证 - 避免通过任何东西.with方法。

RestClient::Request.expects(:execute).with(has_entries(:method => :post, :url => url)) 
相关问题