【发布时间】:2020-12-25 10:54:20
【问题描述】:
我想模拟或存根外部请求。这不是一个简单的 HTTP 请求,也没有对底层库的直接访问,也没有关于它是如何实现的信息,因此它应该被视为一些外部请求,可以是 http、文件、数据库。简化代码如下:
def my_external_call
Lib1::get_some_data()
end
我知道 my_external_call() 可以返回什么。如何模拟或存根?
【问题讨论】:
-
my_external_call是在类上定义的方法,还是只是在顶层?如果它是在一个类上定义的,你只需说expect(my_class).to receive(:my_external_call).and_return(some_stubbed_result) -
@maxpleaner 在类或模块中。请在下面查看我的 cmets