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.