Alia
Oban Job Testing in Elixir
Hello everyone!
I am here with a new query in my mind.
Is there any assert in test cases when Oban job is completed like there are many helper functions to check the Oban Job testing. Similarly, I want to check that the job is completed OR in progress or something else.
I checked the Oban Testing Documentation but nothing was found similar.
Any guess about it?
First Post!
benwilson512
I’m not sure I understand. When you’re in a test, Oban is not running in the background. You can use Oban.drain_queue to synchronously run jobs that are queued up, but there isn’t a lot of point in asserting on what jobs are doing because well, they aren’t doing anything on their own during tests.
Last Post!
stefanchrobot
I think the point of the Oban test helpers is to test the jobs from the “outside”, that is, make assertions on the observable effects. So you can:
- Verify that the jobs were enqueued with
assert_enqueued, - Verify that the jobs were not enqueued with
refute_enqueued, - Inspect all enqueued jobs with
all_enqueued, - Run a job synchronously and verify the result of the job with
perform_job, - Run jobs and verify how many succeeded or failed with
drain_queue.
You could in theory get notified about the job status by plugging into Telemetry, but I think it would be better to restructure the way you make assertions.
Can please share more details about the kind of behaviour you are trying to test? Maybe there’s a different way to do it?
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










