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