Bom dia,
Estou fazendo uma validação no início de um método apenas para verificar se uma configuração está habilitada, caso esteja desabilitada eu lanço uma exceção e capturo essa exceção pelo tipo para eu trata-la.
protected function init(): void
{
if (!$this->settings->isModuleEnable()) {
throw new AuthorizationException(__('The multiple wishlist module is disabled.'));
}
}
...
public function execute(): ResultInterface
{
try {
$this->init();
...
} catch (AuthorizationException $exception) {
...
}
...
}
No código para testar esperar essa exception está falhando.
public function testExecuteException(): void
{
$this->expectException(AuthorizationException::class);
$this->settingsMock->method('isModuleEnable')->willReturn(false);
$this->createControllerMock->execute();
}
Quando eu tiro o método expectException()
os testes passam sem dar erro, sabem me dizer se quando a exception é capturada, não é necessário colocar o método expectException()
?
1) Compass\MultipleWishlist\Test\Unit\Controller\Page\CreateTest::testExecuteException
Failed asserting that exception of type "Magento\Framework\Exception\AuthorizationException" is thrown.