答案 0 :(得分:2)
一种方法是简单地调用API:
allow(thing).to receive(:action).and_return(response)
另一种方法是允许API调用通过,但拦截它并使用VCR返回模拟响应。要做到这一点,你要记录"请求和"回放"。
当您需要处理测试对象中的整个响应时,VCR很方便。只需针对真实API进行一次测试,然后后续测试就可以使用VCR"盒式磁带"。 OTOH这比简单地存根调用要慢,特别是如果你只需要模拟状态而不是整个响应。
TL:如果可以的话,DR,存根,但是当它为您节省工作时不要犹豫使用VCR。
答案 1 :(得分:0)
您不应该在测试环境中进行API调用。为了阻止这些来电,您应该stub
方法,以便在被调用时返回true
或success
。