gpt4 book ai didi

ruby-on-rails - stub 类上调用的所有方法

转载 作者:行者123 更新时间:2023-12-04 06:15:39 26 4
gpt4 key购买 nike

在我的一个测试中,我需要完全禁用对给定类的所有调用,因此我执行了以下操作:

  ApiClass = double("api_class").as_null_object

它工作正常,但是我现在收到以下警告:

~/my_project/spec/models/mymodel_spec.rb:141:warning: already initialized constant ApiClass
~/my_project/app/models/api_class.rb:2:warning: previous definition of ApiClass was here

什么是不会导致这些警告的替代方案?

附言。我刚刚意识到我所做的是完全错误的,因为它实际上用全局上下文中的 stub 替换了所有测试的类,除非我在执行测试后恢复类。

最佳答案

您可以使用 stub_const,在 https://www.relishapp.com/rspec/rspec-mocks/v/2-11/docs/stubbing-constants 中有描述要避免这些警告,如下所示:

stub_const("ApiClass", double("api_class").as_null_object)

关于ruby-on-rails - stub 类上调用的所有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20641865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com