Histórico da Página
Podem existir casos onde seu teste cause error.log no sistema, e talvez seja exatamente o esperado.
Mas como então iremos transformar o error.log causado em resultado positivo já que o PROBAT automaticamente captura os erros catastróficos e gera um resultado negativo no plano de testes?
Para esses casos serão necessários utilizar a annotation [ErrorLog] junto com as annotations [Test] para métodos ou [TestFixture] para funções.
Ao utilizar esta annotation, deve-se obrigatoriamente informar a descrição do erro, ou seja, o error.log esperado para que não o teste não falhe.
Bloco de código | ||
---|---|---|
| ||
#include "tlpp-core.th" #include "tlpp-probat.th" @TestFixture() class sample_class_test_errorLog private data cVar public method new() constructor @Test('causa propositalmente erro de tipo de dados') @ErrorLog('type mismatch') public method run1() endclass method new class sample_class_test_errorLog cVar := 'abc' return self method run1 class sample_class_test_errorLog if ( ::cVar == .T. ) endif return |
ou
Bloco de código | ||
---|---|---|
| ||
#include "tlpp-probat.th" @TestFixture() @ErrorLog('type mismatch') user function sample_function_test_errorLog() local cVar := 'abc' if ( cVar == .T. ) endif return |
Neste exemplo, o if falhará pois é realizado a comparação de uma variável do tipo string com um valor booleano. Porém, como foi utilizado a annotation [ErrorLog] na definição do Teste e com a indicação de "type mismatch", o resultado do teste será verdadeiro.
Porém, se na definição do erro tivesse qualquer outra descrição que não fosse o error.log causado, mesmo fazendo uso de [ErrorLog] o resultado será negativo, pois não é exatamente o erro esperado.
Nota: Em caso de não utilização desta annotation, será gerada uma falha no XML com o error log encontrado durante a execução da thread.