Histórico da Página
...
O "Cross Validation" tem a finalidade de dar ao projeto flexibilidade para validar se existem testes escritos para certos "alvos" conforme necessidade.
O primeiro passo a se fazer é informar ao PROBAT qual a função será responsável pela criação da lista, sendo assim, faremos da seguinte forma:
Arquivo appserver.ini
Bloco de código | ||
---|---|---|
| ||
[PROBAT] CROSS_VALIDATION=ListCross |
...
A seguir, devemos criar a função informada no INI seguindo alguns critérios:
- Deve retornar um array simples (vetor);
- Elementos do array devem ser strings;
- Array deve pelo menos ter 1 elemento;
- Função deve estar compilada no mesmo ambiente onde for executar o PROBAT.
Exemplo:
Bloco de código | ||
---|---|---|
| ||
function ListCross() local aRet := { 'item.1', 'item.2' } return aRet |
Nesse exemplo utilizamos nomes genéricos para deixar claro de que essa lista pode ser referente a qualquer controle que a equipe de desenvolvimento desejar.
Exemplos de listas:
- Fontes;
- Funções;
- Classes;
- Módulos;
- Recursos;
- Libs;
- etc ...
Ao determinar essa lista, agora seu projeto terá a obrigação de possuir pelo menos 1 teste para cada item.
Caso não exista um teste específico para cada "alvo" da lista, o PROBAT irá gerar erro no processo de apuração de resultados.
Portanto, agora temos que escrever o teste, porém devemos marcar o teste com seu respectivo "alvo", caso contrário não haverá como fazer o link entre o "alvo" e o teste.
Para marcar o teste, use a propriedade [target] da annotation [TestFixture], veja:
Bloco de código |
---|
#include "tlpp-probat.th" @TestFixture(target="item.1") function test_sample_1() |
...