Como executar um teste único contexto deveria ter em Ruby Test :: Unit quadro
-
10-07-2019 - |
Pergunta
Eu geralmente pode testar um teste regulares :: método da Unidade usando a seguinte sintaxe de linha de comando para um método "delete_user_test":
ruby functional/user_controller_test.rb -n delete_user_test
Agora, quando eu estou usando o plugin shoulda com Test :: Unit eu tento usar a mesma técnica da seguinte forma:
...
context "Deleting a User" do
should "remove user from user table" do
...
end
end
Então eu tentar executar o único teste da seguinte forma:
ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table"
Esta não funciona. Alguém sabe como posso executar um único testes de contexto usando shoulda e Test :: Unit. Eu tenho um par de teste diferente em um arquivo de teste e eu quero correr apenas o usando TDD sem ter que esperar para todos os testes a serem executados.
Solução
Isso funciona para mim:
ruby functional/user_controller_test.rb -n "/Deleting a User/"
Basta colocar alguma corda razoavelmente longo de seu nome de contexto para a expressão regular.
Outras dicas
Usando o nome completo do teste com um espaço no final parece funcionar demasiado:
ruby -Itest
functional/user_controller_test.rb
-n "test: Deleting a user should remove user from user table. "
A combinação das duas abordagens tem funcionado bem para mim; usando tanto -I test
eo regexp.
ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"