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>'
Die 4.0-Dokumentation enthält das folgende Beispiel, daher habe ich erwartet, dass exactly
definiert wird.
UploadBackupsJob.perform_later('backup')
expect(UploadBackupsJob).to have_been_enqueued.exactly(:once)
expect(::RedactedJob).to have_been_enqueued.times(2)
Gerne, wenn bestimmt Bedarf besteht.
Können Sie bitte einen Haltepunkt setzen und überprüfen, was die Quelle der Klasse ist, von der eine Instanz have_been_enqueued
zurückgibt?
undefined method `exactly' for #<RSpec::ActiveJob::Matchers::EnqueueA:0x00007feb2aa89d10>
RSpec::ActiveJob::Matchers::EnqueueA
sieht RSpec::Rails::Matchers::ActiveJob::HaveBeenEnqueued
nicht allzu ähnlich.
Ziemlich sicher, dass Sie rspec-activejob
verwenden. Es ist höchste Zeit, stattdessen die Matcher von rspec-rails
zu verwenden.
Ziemlich sicher, dass Sie
rspec-activejob
verwenden. Es ist höchste Zeit, stattdessen die Matcher vonrspec-rails
zu verwenden.
Danke Phil, nach der Deinstallation rspec-activejob
kann ich jetzt exactly
verwenden.
Gut zu wissen @jaredbeck , helfe gerne 🙌
Hilfreichster Kommentar
Können Sie bitte einen Haltepunkt setzen und überprüfen, was die Quelle der Klasse ist, von der eine Instanz
have_been_enqueued
zurückgibt?RSpec::ActiveJob::Matchers::EnqueueA
siehtRSpec::Rails::Matchers::ActiveJob::HaveBeenEnqueued
nicht allzu ähnlich.Ziemlich sicher, dass Sie
rspec-activejob
verwenden. Es ist höchste Zeit, stattdessen die Matcher vonrspec-rails
zu verwenden.