我目前正在更改我们的 rails 邮件程序以使用使用参数化的邮件程序的更新方式,这使我们的代码库与rails guide内联,但更重要的是它还允许在日志和第 3 方中适当过滤参数AppSignal 等应用程序。 IE。 我正在改变这个 至 但是我们有很多规范使用 Rspec Mocks ...
我目前正在更改我们的 rails 邮件程序以使用使用参数化的邮件程序的更新方式,这使我们的代码库与rails guide内联,但更重要的是它还允许在日志和第 3 方中适当过滤参数AppSignal 等应用程序。 IE。 我正在改变这个 至 但是我们有很多规范使用 Rspec Mocks ...
RSpec 文档显示了如何模拟 class 方法。 我该如何替换实例方法。 下面是一个使用rspec-mocks使之更具体的代码示例: 这给出了“Foo 没有实现:foo”。 当然,这是为了简化而设计的。 在我正在测试的实际 class 中, foo发出了 HTTP 请求,因此我想在为foobar ...
我有一个这样的模块,我正在尝试为其编写单元测试module MyThing module Helpers def self.generate_archive # ... ::Configuration.export(arg) rescue ::Config ...
给定两个类, Superclass和Subclass - 如何在超类上使用allow返回不同的东西? p descriptor.run的 output 为上述代码返回false (即测试失败),而当我将期望更改为时给出true expect(subclass.subclass_method).t ...
我正在尝试模拟 class,以便我可以期望它被实例化,然后调用某个方法。 我试过了: expect(MyPolicy). to receive(:new). and_wrap_original do |method, *args| expect(meth ...
我想知道这个解决方案是否是社区通过 ruby 中的模拟对象批准的。 如果不是,请描述原因,以及如何改进代码设计或测试。 考虑我有以下代码。 lib/config_loader.rb class ConfigLoader HOME_DIR = '~/my/home_dir'.freeze ...
我有一个 Sidekiq 工作人员联系外部 API 以获取一些数据。 我正在尝试编写测试以确保该工作人员的设计和功能正常。 工作人员获取本地 model 实例并检查 model 上的两个字段。 如果其中一个字段为nil ,它会将另一个字段发送到远程 API。 这是工人代码:class Tokeni ...
我有以下代码结构(长度缩写): 目前,我可以指定调用 RSpec 中的execute方法,以确保调用upload_file 。 但是,我如何模拟检查upload_file调用upload_content ? ...
我有一个轨道 controller 我想测试一个方法test_method 。 我必须测试call_method没有被调用。 这是我想出的,但我认为这不会奏效。 我在这里关注了这个问题,发现它几乎相似,只是被调用的方法在另一个 class 中。 当我尝试上面的代码时,我收到一条错误消息,例如“预期 ...
似乎在测试用例中使用rspec模拟的标准方法是执行以下操作: class MyTest def setup super ::RSpec::Mocks.setup(self) end def teardown super begin :: ...
我有一个具有冰糕类型签名定义的方法。 在尝试使用 RSpec 在测试中模拟此方法时,我收到类型不匹配错误。 我试图了解如何解决此问题,并可以添加基于 RSpec 的测试而不影响冰糕类型检查。 sig {params(login_context: LoginContext, company_id: S ...
我试图存根从构造函数调用的全局函数。 我正在使用Rspec和Rspec-mocks。 这是要测试的代码: 这是测试: 测试失败,并显示以下消息: 如何存根全局函数foo ? PS:如果从另一个全局函数调用foo则expect(self).to receive(: ...
我正在写一个期望,它检查一个方法是否被不同的 arguments 调用两次并返回不同的值。 目前我只是写了两次期望:expect(ctx[:helpers]).to receive(:sanitize_strip).with( %{String\n<a href="http://loca ...
注意:我是Ruby和程序设计的新手。 我有一个名为JourneyLog的类,我试图获取一个名为start的方法来实例化另一个名为Journey类的新实例 当我进入irb ,出现以下问题 我也有以下Rspec测试 我收到以下Rspec失败; 我完全不知道问题是什么 ...
我正在做一个ActiveSupport::Notification.instrument测试,检查是否使用某些参数调用ActiveSupport::Notification.instrument 。 问题是为了使这个测试需要FactoryBot来构建一些对象,但是当我尝试监视ActiveSuppo ...
我有一个测试: allow_any_instance_of(GoogleMapsService::Client).to receive(:initialize) 我收到warning: removing 'initialize' may cause serious problems ,但我没有找 ...
我有一段RoR代码,用于创建gitlab存储库。 如果存储库已经存在,则该方法将返回false和错误消息。 class CreateRepositoryJob < ApplicationJob queue_as :default def perform(id) nam ...
在RSpec的模拟文档中,我发现 期望(double)。接收(:msg).exactly(3).times.and_return(value1,value2,value3) #第一次返回value1,第二次返回value2,依此类推` 如果我做同样with参数,为前。 期望(d ...
无法找出原因: 结果是: “失败/错误:期望(arr.store).to have_received(:[] =)。exactly(8).times#预期已收到[] =,但该对象不是间谍或方法,尚未被存根。 ” ...
说有一个工人,他的工作是: 通过一组评论来查找或创建记录; 更新记录的属性。 这是一个示例实现: 我想测试一下: 如果记录不存在,工人会创建记录; worker不创建新记录,但如果记录存在则提取现有记录; 无论如何,工作人员更新记录 ...