Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[11.x] add assertFailedWith to InteractsWithQueue trait #53980

Conversation

teddy-francfort
Copy link
Contributor

This PR improves testing job's queue interactions for manually failed jobs by adding a new method assertFailedWith.
The existing method assertFailed does not allow to check the failing exception.

When manually failing the job, we can now check for the failure exception.

use App\Jobs\ProcessPodcast;
use App\Exceptions\MyException;
 
$job = (new ProcessPodcast)->withFakeQueueInteractions();
 
$job->assertFailedWith('whoops');
$job->assertFailedWith(MyException::class);
$job->assertFailedWith(new MyException);
$job->assertFailedWith(new MyException(message: 'whoops'));
$job->assertFailedWith(new MyException(message: 'whoops', code: 123));

@taylorotwell taylorotwell merged commit 0222c3e into laravel:11.x Dec 27, 2024
37 of 38 checks passed
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants