我想在失败时测试我的laravel作业。我使用laravel 9和最新的phpunit版本。
我认为在工作中嘲笑异常不会被抓住。
例如,我有一个作业,它在handle()
函数中调用一个api。我想测试一下api不工作的情况,然后抛出一个异常。因此在这种情况下调用了CCD_ 2函数。但在测试中,如果我模拟api http请求,如果它失败了,mock不会检测到,然后继续测试。所以我不能测试CCD_ 3的功能。
如果您使用laravel 7.x或更高版本,您可以使用HTTP facade的fake方法来模拟您想要的响应,并且您可以在作业中获得失败操作。
有关更多信息,您可以在laravel文档中阅读: