pepino Cleanup
-
13-09-2019 - |
Pergunta
SO Folk,
Qualquer um em torno destas peças saber se você pode manter Pepino de limpeza de dados de teste no final de uma corrida? Eu tenho alguns testes que continuam a falhar e eu gostaria de ter um olhar para os dados apoiando esses testes ...
Todas as idéias?
Obrigado! Cory Wilkerson
Solução
Em seu arquivo features/support/env.rb
existem alguns comentários sobre isso. Se você não quer roll-back do banco de dados após um determinado cenário terminar, em seguida, adicionar a tag @no-txn
ao cenário. Em seguida, terá de limpar a db si mesmo. A maneira mais fácil é fazer uma db:test:clone
.
A melhor maneira de resolver seus problemas seria a de executar os cenários de problemas individualmente e ver como cada um está a falhar. Se você fizer uma corrida e tem cenários deixando os dados no DB então você está indo para causar a si mesmo todos os tipos de problemas. Depois de ter fixado o cenário, em seguida, fazer uma db:test:clone
antes de trabalhar com o próximo ou fazer uma corrida.
Outras dicas
Aqui está a definição para a etapa de depuração eu mencionei no comentário a Sam Livingston-Gray:
When /I want to debug/i do
debugger
true # never put debugger at the end of a method
end
Um pouco hackish, mas como um último recurso, talvez você poderia adicionar um Então bloco chamado "Então pausa testes" que tanto paradas, ou entra em um loop de votação e não continue até que ele vê alguma mudança condição (por exemplo, você toca /features/continue.txt)?
Stick "Então pausa testes" no teste que você quer olhar, e você tem uma maneira de inspecionar o banco de dados antes de continuar. Claro, isso não funciona se Pepino usa transações de banco de dados ...
(Desculpe pela imprecisão;. Que tem sido um tempo desde a última vez utilizado pepino)