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

Foi útil?

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)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top