Árvore de páginas

Ao final da execução o PROBAT pode exportar o resultado dos testes automaticamente, conforme possível configurar através do appserver.ini em sessão específica.


[PROBAT]
EXPORT_AFTER_RUN=1
EXPORT_FILE_NAME=results
EXPORT_FORMAT=JUnit


EXPORT_AFTER_RUN

Indica se ao final da execução gera o resultado automaticamente ou não, sendo:

0 = Não gera arquivo.
1 = Gera arquivo com resultado, baseado em EXPORT_FILE_NAME e EXPORT_FORMAT.

Caso opte pela geração automática, o arquivo será gerado na pasta ROOT/SYSTEM do appserver com o nome definido em [EXPORT_FILE_NAME] e com o formato definido em [EXPORT_FORMAT].

Quando exportado logo após a execução dos testes serão exportados apenas os resultados da última execução dos Testes.

Porém, caso a escolha opte por não gerar automaticamente, para gerar a exportação é preciso utilizar a Main Function:

tlpp.probat.export()

Veja mais sobre esse recurso em: ( export() )


EXPORT_FORMAT

Até o momento temos somente implementado o formato jUnit, portanto a chave precisa ser: [EXPORT_FORMAT=JUnit]

Portanto ao exportar o arquivo, o arquivo XML gerado será no formato jUnit e seu conteúdo será parecido com:


<?xml version="1.0"?>  
  <testsuites  id="20190109203113" name="results" type="all" tests="1" skipped="0" failures="0" time="0.002" >  
    <testsuite  id="000001"  name="all"  tests="1" skipped="0" failures="0" time="0.002" >  
      <testcase id="1" name="Class:MANUALUT.TEST_MANUALUT():New() | Method:EXAMPLEFORUSE()" time="0.002" >  
        Folder: TEST/UNIT/MANUALUT | Call: U_manualUT( cTest ) | Expected: {C}-[test_1] | Result: {C}-[test_1]  
      </testcase>  
    </testsuite>  
  </testsuites>  


EXPORT_FILE_NAME

O nome do arquivo pode ser customizado, basta informar o nome desejado por uma chave do INI de seu appserver.


Exemplo 1:

[TLPP_ENGINE_TESTS]
FILE_NAME_EXPORT=

Irá manter o nome padrão da engine, ou seja, "results" para resultados e "coverage" para cobertura de código.

Ficando:

results.xml -> Resultados em formato jUnit
coverage.json -> Json de cobertura de código para uso no VsCode
coverage.xml -> XML com dados da cobertura de código


Exemplo 2:

[TLPP_ENGINE_TESTS]
FILE_NAME_EXPORT=customname

Gerará então:

customname.xml -> Resultados em formato jUnit
customname.json -> Json de cobertura de código para uso no VsCode
customname (1).xml -> XML com dados da cobertura de código

Note que dessa forma, existirá conflitos com arquivos com a mesma extensão e exigirá uma experiência maior do operador para saber a finalidade de cada arquivo.


Por essa razão, sugerimos utilizar um dos dois modos a seguir.


Exemplo 3:

[TLPP_ENGINE_TESTS]
FILE_NAME_EXPORT=*customname

Gerará então:

unit-customname.xml
coverage-customname.json
coverage-customname.xml


Exemplo 4:

[TLPP_ENGINE_TESTS]
FILE_NAME_EXPORT=customname*

Gerará então:

customname-unit.xml
customname-coverage.json
customname-coverage.xml