Árvore de páginas

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.

#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

#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.