Aprende a testar os teus exercícios de Ruby no Exercism
Executa os testes com:
$ ruby hamming_test.rb
Só o primeiro teste será executado; todos os outros ficaram pendentes
através do método skip. Apaga ou comenta o próximo skip à medida que
cada teste for passando.
O método skip instrui o conjunto de testes a não executar um teste. Isto é usado habitualmente para evitar executar testes de funcionalidades ainda não implementadas, para que te possas concentrar na parte em que estás a trabalhar neste momento.
O resumo da execução dos testes apresenta o número de testes ignorados. Deves desativar todos os skips antes de concluíres um exercício.
Se quiseres cor, executa os testes com:
$ ruby hamming_test.rb -p
Se quiseres ver os nomes dos testes, executa os testes com:
$ ruby hamming_tests.rb -v
Se quiseres correr apenas um teste, podes indicar um teste ou um grupo através de correspondência por expressão regular.
$ ruby hamming_tests.rb -n /empty/
Também podes combinar as opções.
Agora que já podes escolher os testes individuais ou grupos de testes que queres executar, talvez queiras desativar todos os skips.
Aproveitando o facto de que em Ruby os métodos podem ser redefinidos, se adicionares esta linha de código:
def skip ; end
assim, no ficheiro de testes do Hamming
class HammingTest < Minitest::Test
def skip ; end
def test_identical_strands
então todos os skips continuam a ser avaliados, mas deixam os teus testes correr.
Claro que andar sempre a editar todos os ficheiros pode ser irritante, por isso podes fazer como nós fizemos ao desenvolver os exercícios... criar um ficheiro que tenha a definição do skip e fazer require desse ficheiro como biblioteca quando precisares.
Criámos uma pasta lib para guardar os nossos ficheiros de apoio, e tem este aspeto:
require 'minitest/autorun'
# You can use this to disable all skips in the current exercise by issuing the
# following command:
# ruby -I../lib -rdisable_skip <filename_test.rb>
module Minitest
class Test
def skip(_msg='', _bt=caller)
end
end
end
A descrição de como o usar está comentada nessa listagem, e a listagem do ficheiro está no seu estado completo.