-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
any thoughts on how to support delay class methods? #18
Comments
I've not had need to use the delayed extensions kit in Sidekiq so haven't given this any thought up to now. FYI from looking at some of the Sidekiq code there are comments that using the delayed methods are discouraged anyway due to serialization of the entire object to JSON. However, if I read Sidekiq's source correctly, this should be testable with the current matchers (don't hold me to that). Scanning over the extensions directory in Sidekiq's source, everything hangs round the Proxy class and it's So you should be able check a job in enqueued correctly and the expected arguments (You'll have to take a peek to see what those arguments are). As for the method being called, I'd test that the job is enqueued as expected (as above) and then test the method itself separately (else your testing that Sidekiq is actually performing it's job correctly which is already tested in Sidekiq itself). |
It's discouraged to use active_record extension. Using class methods actually will not have any serialization problem as long as the arguments are plain. I'm actually interested in testing if arguments are correctly passed in, using have_enqueued_job. Currently I can only test if the size of the DelayClass has changed using Sidekiq::Extensions::DelayedClass.jobs. Using have_enqueud_job on Sidekiq::Extensions::DelayedClass gives me:
when I called I'll look into how this argument get parsed. |
Did you get any further with this? |
Hi Phil, I realized that It's not very readable to test Sidekiq::Extensions::DelayedClass. So I wrote a simple dsl to generate sidekiq job class instead. |
I've got some helper methods for testing the delay class methods. Will create a pull request. |
No description provided.
The text was updated successfully, but these errors were encountered: