Pergunta

Eu tenho um caso de teste de unidade de impulso que faz com que o objeto em teste jogue uma exceção (esse é o teste, para causar uma exceção). Como especificar no teste para esperar essa exceção específica.

Posso especificar que o teste deve ter um certo número de falhas usando o boost_auto_test_case_expected_failures, mas isso parece bastante inespecífico. Quero poder dizer em um ponto específico no teste que uma exceção deve ser lançada e que não deve ser contada como uma falha.

Foi útil?

Solução

Isso não funciona?

BOOST_CHECK_THROW (expression, an_exception_type);

Isso deve fazer com que o teste seja aprovado se a expressão lançar o tipo de exceção dado ou falhar de outra forma. Se você precisar de uma gravidade diferente da 'verificação', você também pode usar BOOST_WARN_THROW() ou BOOST_REQUIRE_THROW() em vez de. Ver a documentação

Outras dicas

Você também pode usar o boost_check_exception, que permite especificar a função de teste que valida sua exceção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top