Para executar testes com xutest você pode utilizar as seguintes tarefas: test, testlink, testbuild e testbuildall
Para tanto, é necessário definir as propriedades "test.dir" e "test.libs".
Se estiver no linux, é necessário também definir a propriedade "test.linker.params"
Veja abaixo o exemplo de configuração básica do script FoxMakefile:
test.dir=test
test.libs=xutest
IF os != "windows"
# interpretado somente se estiver no linux
test.linker.params=-ldl -rdynamic
ENDIF
O exemplo acima assume que a pasta de testes é a pasta "test".
Após configurado o FoxMakefile, é só criar os testes na pasta da propriedade "test.dir".
Veja um exemplo de teste, supondo a criação do arquivo "test/teste.cpp"
#include <xutest/xutest.h>
TEST_CASE( primeiroTeste, Testes ) {
int a = 1;
int b = 1;
int c = 2;
ASSERT_EQUALS( a, b, )
ASSERT_TRUE( a == b, )
ASSERT_FALSE( a == c, )
}
int main() {
RUN_TEST_CASES_MENU();
return 0;
}
Feito isto, seu projeto deve ter a seguinte estrutura:
testhelloworld
├── FoxMakefile
└── test
└── teste.cpp
Agora, você pode executar o seguinte comando:
foxmake testbuildall
A saída do comando deve ser a seguinte:
Incluíndo o xutest manualmente
Caso não tenha instalado o xutest e quiser inclur manualmente, faça conforme o seguinte exemplo:
test.dir=test
test.include.dirs=include
test.lib.dirs=.
test.libs=xutest
IF os != "windows"
# interpretado somente se estiver no linux
test.linker.params=-ldl -rdynamic
ENDIF
O exemplo acima assume que o diretório onde deve procurar o arquivo "libxutest.a" é o diretório corrente. Para outro diretório, é só alterar "test.lib.dirs". Claro, o exemplo acima assume que o nome da static library do xutest tem o nome "libxutest.*", onde o "*" geralmente corresponde a "a" ou "lib". Esse exemplo assume também que a os arquivos de cabeçalho do xutest estão na pasta "include".
Para baixar o projeto "testhelloworld" abordado nessa página, acesse:
Download: testhelloworld.zip.