Melhore sua capacidade de programação, trabalhando com código e especificações de terceiros, e, especialmente, satisfazendo a testes unitários.
Todo aquele que está começando em uma linguagem e quer resolver alguns exercícios, mas fazendo testes de unidade. Com uma diferença: os testes já estão feitos. Leia os requisitos, implemente e verifique.
Clone este repositório em sua máquina:
git clone https://github.com/paulohrpinheiro/test-driven-learning
Melhor ainda de você der um fork desse projeto, se tiver uma conta no GitHub. Aqui tem-se as instruções:
https://help.github.com/articles/fork-a-repo/
Primeiro, escolha um dos níveis (atualmente só o diretório 000_novice). Então crie uma branch para você. Isso faz parte do exercício:
git checkout -b minhasolucao # *minhasolucao* é uma sugestão de nome
Trabalhe nos arquivos problems.*
, execute os testes conforme explicado logo
mais abaixo.
Existe uma branch com sugestão de soluções: é a branch solved. Para passar a essa branch, execute o comando:
git checkout solved
Para voltar à branch minhasolucao, onde devem estar seus códigos, digite o comando:
git checkout minhasolucao
Em solved está a minha solução para os problemas, que serve como meus testes para testar os testes. Pode servir de referência, se quiser comparar seu código ou não ter entendido alguma coisa.
Agora você pode começar a trabalhar no diretório da linguagem que você prefere:
Para testar, cada linguagem tem seu comando. Dentro da pasta e branch que você trabalhou, execute o comando específico:
Linguagem | comando |
---|---|
Python* | python problems.py |
Perl | perl tests.t |
C | make test |
Rust | cargo test |
Ruby | ruby tests.rb -v |
JavaScript | d8 problems.js |
GO | go test -v |
* Funciona tanto no Python2 como Python3
Se algum teste falhar, continue trabalhando e testando.
- Clone ele!
- Crie uma branch para sua contribuição:
git checkout -b minha-contribuissaum
- "Comite" suas alterações:
git commit -am 'Add some feature'
- Faça o pull request 😛
Licenciado sob a MIT License, veja o arquivo LICENSE.