Testes na trilha de C

Aprenda a testar seus exercícios de C no Exercism


Cada exercício traz os testes de unidade e uma receita de build do Make. A implementação é você que fornece.

Cada arquivo de teste deve ser vinculado à sua implementação para gerar um executável de console que roda os testes. Ao rodar o executável de testes, ele imprime mensagens para cada teste que falha e reporta um status de saída diferente de zero quando os testes falham.

Para percorrer um exercício:

  • Crie o build inicial com o Make
  • Para cada teste de unidade:
    • Remova a linha TEST_IGNORE().
    • Resolva os erros de compilação para fazer o teste falhar.
    • Implemente só o suficiente para fazer o teste passar.
    • Refatore sua implementação para melhorar a legibilidade, reduzir duplicação etc.

Compilando e rodando os testes

Cada exercício virá com um arquivo makefile junto com um .c com os testes de unidade. Você não deve precisar editar o arquivo Make. O arquivo Make fornecido pressupõe que sua implementação exista como um arquivo de cabeçalho (.h) e um arquivo-fonte (.c) com o nome do exercício.

Por exemplo, o exercício bob espera uma implementação em bob.h e bob.c. Para exercícios com hífens no nome, pressupõe-se que os arquivos-fonte usem sublinhados, então word-count espera word_count.h e word_count.c. Você pode decidir que sua implementação é simples o bastante para caber inteira no cabeçalho, e nesse caso pode omitir o arquivo .c.

Crie seus arquivos de implementação iniciais antes de rodar o Make. Se você não tiver os arquivos bob.h e bob.c ao rodar o Make para o exercício bob, o Make vai gerar um erro dizendo que os arquivos não foram encontrados. Esses arquivos podem estar vazios, mas precisam existir.

Compile seu código

A maneira mais simples de compilar seu código é usar o make na linha de comando (CLI). No Linux, a CLI está disponível no bash ou similar; no MacOS, use o Terminal. No Windows 10, o Bash do Windows Subsystem for Linux (WSL) está disponível.

Para isso, supondo que o diretório atual seja a pasta do exercício:

$ make

Isso vai compilar seu código e rodar os testes.

O makefile também vem com um build que verifica alguns erros comuns de vazamentos de memória e acesso fora dos limites de arrays. Para rodar essas verificações, use o seguinte na linha de comando:

$ make memcheck

Limpeza

Para limpar depois de um build, você pode pedir ao make que apague toda a saída do build, incluindo o executável:

$ make clean

Alternativa de build no MacOS

No MacOS, você também pode usar o Xcode. Para compilar o código, selecione Build na barra de ferramentas.