请求正文不同时的存根请求

嗨,我正在使用ruby-2.5.0和Rails 5处理RoR项目。我正在使用stub_request来存储一个http请求。 此http请求基本上是发送电子邮件的mailjet api请求。

所以,我不能只重复使用片段,rspec吐出来,因为身体每次执行都不同。

存根请求

stub_request(:post, "https://api.mailjet.com/v3/send"). with( body: "{\"FromEmail\":\"abc@abc.ocm\",\"FromName\":\"abc\",\"To\":\"abc@abc.com\",\"Subject\":\"Forgot Password\",\"Text-part\":\"xV3SEtaoa1oyYYfYBt12pw\"}", headers: { 'Accept'=>'application/json', 'Accept-Encoding'=>'deflate', 'Authorization'=>'Basic YmY0NzdhZmYyMmZlMGQwMzAxNzYzNDNkODUwZTY1MzE6YmRhNmZmYzQ0Y2ZmNGM3MmZkZGNkMjUwODA5YWJhZjM=', 'Content-Length'=>'143', 'Content-Type'=>'application/json', 'Host'=>'api.mailjet.com', 'User-Agent'=>'mailjet-api-v3-ruby/1.5.4' }). to_return(status: 200, body: "", headers: {}) 

这里Text-part对每个用户都不同。 我尝试了hash_including方法如下: –

 stub_request(:post, "https://api.mailjet.com/v3/send"). with( body: hash_including({"FromEmail": "abc@abc.com","FromName": "abc"}), headers: { 'Accept'=>'application/json', 'Accept-Encoding'=>'deflate', 'Authorization'=>'Basic YmY0NzdhZmYyMmZlMGQwMzAxNzYzNDNkODUwZTY1MzE6YmRhNmZmYzQ0Y2ZmNGM3MmZkZGNkMjUwODA5YWJhZjM=', 'Content-Length'=>'143', 'Content-Type'=>'application/json', 'Host'=>'api.mailjet.com', 'User-Agent'=>'mailjet-api-v3-ruby/1.5.4' }). to_return(status: 200, body: "", headers: {}) 

但是,当我运行测试时,它会抛出一个错误: –

 JSON::ParserError: 765 : unexpected token at '' 

请帮助我使用hash_including方法的正确语法。 提前致谢。