Avatar ·

如何在PHPUnit中测试方法是否抛出了异常?

大家好!我刚开始学习PHPUnit,正在为我的项目编写测试。我有一个方法,在特定条件下应该抛出异常,例如,如果传入了无效参数,则抛出`InvalidArgumentException`。 问题是我不知道如何正确编写assert来检查异常是否被抛出。我试过将方法调用包装在`try...catch`中,然后使用`$this->assertTrue($caught)`,但这看起来很笨拙,并且没有利用PHPUnit的功能。 以下是我的代码示例: ```php class Calculator { public function divide($a, $b) { if ($b == 0) { throw new \InvalidArgumentException('Division by zero.'); } return $a / $b; } } ``` 以及我的测试,它以一种不美观的方式检查异常: ```php public function testDivisionByZero() { $calculator = new Calculator(); $caught = false; try { $calculator->divide(10, 0); } catch (\InvalidArgumentExce