(Embora seja destinado a jogos, muitos aplicativos também se beneficiarão de um console / REPL ‘)
Uma das coisas que mais reduziu meus ciclos de teste foi a introdução de uma interface de console / comando no jogo que me permite enviar comandos para o jogo enquanto ele é reproduzido.
Esses comandos são implementados de uma forma que configura o jogo para um determinado estado conhecido. A partir desse estado, posso testar o que precisar.
Este é um grande contraste com a maneira manual usual quando jogamos o jogo até que ele atenda ao estado pré-condicionado antes de testar o que deve ser testado.
Além disso, tornei os comandos o mais genéricos possível. Digamos, por exemplo, que eu implemente um comando EndGame , esse comando forçaria o jogo a um estado de final de jogo. Quando tenho esse comando implementado, é o comando que eu executaria sempre que o jogo detectasse que um estado de final de jogo é apropriado.
Então, eu acelero meus ciclos de teste E forneço uma maneira natural de reutilizar código que causa efeitos colaterais nos estados do meu jogo.
PS: Certifique-se de nunca construir uma versão de produção com o console, a menos que seja protegido por senha.
‘ http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop