bundle exec ruby --version
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
bundle exec rails --version
Rails 6.0.2.2
bundle exec rspec --version
RSpec 3.9
- rspec-core 3.9.1
- rspec-expectations 3.9.1
- rspec-mocks 3.9.1
- rspec-rails 4.0.0
- rspec-support 3.9.2
Failure/Error: expect(::RedactedJob).to have_been_enqueued.exactly(2).times
NoMethodError:
undefined method `exactly' for #<RSpec::ActiveJob::Matchers::EnqueueA:0x00007feb2aa89d10>
# ./spec/redacted/enqueue_jobs_spec.rb:37:in `block (3 levels) in <module:Redacted>'
4.0 文档有以下示例,因此我希望定义exactly
。
UploadBackupsJob.perform_later('backup')
expect(UploadBackupsJob).to have_been_enqueued.exactly(:once)
expect(::RedactedJob).to have_been_enqueued.times(2)
很高兴,如果确定需要。
您能否设置一个断点并检查have_been_enqueued
返回的实例的类的源是什么?
undefined method `exactly' for #<RSpec::ActiveJob::Matchers::EnqueueA:0x00007feb2aa89d10>
RSpec::ActiveJob::Matchers::EnqueueA
看起来与RSpec::Rails::Matchers::ActiveJob::HaveBeenEnqueued
不太相似。
很确定您正在使用rspec-activejob
。 是时候开始使用rspec-rails
的匹配器了。
很确定您正在使用
rspec-activejob
。 是时候开始使用rspec-rails
的匹配器了。
谢谢菲尔,卸载rspec-activejob
后,我现在可以使用exactly
。
很高兴知道@jaredbeck ,很乐意提供帮助🙌
最有用的评论
您能否设置一个断点并检查
have_been_enqueued
返回的实例的类的源是什么?RSpec::ActiveJob::Matchers::EnqueueA
看起来与RSpec::Rails::Matchers::ActiveJob::HaveBeenEnqueued
不太相似。很确定您正在使用
rspec-activejob
。 是时候开始使用rspec-rails
的匹配器了。