各位这是我的剧本
我想测试这个外部webhook
有没有办法使用VCR或其他工具来记录webhook对我的rails应用程序发出的POST请求,以便我可以在Rspec中使用它来运行我的测试?
webhook的主体很长,而且非常具体,这就是为什么我想以某种方式记录请求
有没有办法做到这一点?
我尝试Requestbin和Charles来记录请求,但到目前为止还没有成功使它们工作
各位这是我的剧本
我想测试这个外部webhook
有没有办法使用VCR或其他工具来记录webhook对我的rails应用程序发出的POST请求,以便我可以在Rspec中使用它来运行我的测试?
webhook的主体很长,而且非常具体,这就是为什么我想以某种方式记录请求
有没有办法做到这一点?
我尝试Requestbin和Charles来记录请求,但到目前为止还没有成功使它们工作
2条答案
按热度按时间w8f9ii691#
假设当你说问题输入“太长太具体”时,你的意思是在测试中构造它会很不方便:一个简单的解决方案是将帖子主体放入单独的文件中。
您可以将示例POST主体另存为
test/
或spec/
下的文件,然后读取它并在请求规范中发布到您的应用:在文档中,您将看到您还可以添加头,因此应该可以构造精确的请求。
pftdvrlh2#
我不认为录像机是最好的工具。它是用来记录发出的请求,而不是接收的请求。
我猜你已经有了一个控制器和一个动作来接受这些请求,确保你的应用程序正在运行,并且可以被将要ping你的服务访问(ngrok非常适合)
然后在你的行动中
你可以从控制台读取参数(或者保存到文件),决定是在规范中硬编码还是保存为文件,然后在request spec中重用它并测试你的webhook。