Como posso executar um único teste em um conjunto de testes de rails?
rake test ANYTHING
parece não ajudar.
ruby-on-rails
unit-testing
rake
artemave
fonte
fonte
Respostas:
NOTA: Isso não executa o teste via
rake
. Portanto, qualquer código que você possuiRakefile
NÃO será executado.Para executar um único teste, use o seguinte comando no diretório principal do seu projeto Rails:
Isso executa um único teste chamado "nome", definido na classe MyModelTest no arquivo especificado. O nome_da_teste é formado usando o nome do teste, acrescentando-o com a palavra "teste" e depois separando as palavras com sublinhados. Por exemplo:
Você pode executar os dois testes via:
e apenas o segundo teste via
fonte
0 tests, 0 assertions, 0 failures, 0 errors
. Rails 3.0.7.-n "/good/"
. A fuga de shell é sempre divertida, então eu costumo seguir expressões simples, mas é muito mais fácil do que escrever o nome completo do teste o tempo todo.test/
pasta. Por exemplo, se eu quiser executar o testeactivesupport/test/core_ext/array_ext_test.rb
, devo entraractivesupport/
primeiro.-n "/good/"
trabalhou.Execute um arquivo de teste :
Execute um único teste em um arquivo de teste:
(Do comentário de @Puhlze.)
fonte
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
(encerrando/paid accounts/
com aspas simples)Para trilhos 5:
fonte
bin/rails test test/models/user_test.rb:27
Graças a @ James, a resposta parece ser:
Assumindo 22 é o número da linha do teste fornecido. De acordo com os trilhos de ajuda:
Além disso, observe que seu teste deve herdar de ActionDispatch :: IntegrationTest para que isso funcione (esse foi meu erro):
fonte
Nos trilhos 5,
Eu usei esse caminho para executar um único arquivo de teste (todos os testes em um arquivo)
veja aqui https://stackoverflow.com/a/41183694/3626659
fonte
Para executar um único teste no pacote Rails real:
fonte
Essa foi uma pergunta boba da meia-noite minha. O Rails gentilmente imprime o comando que está executando
rake test
. O resto é um exercício de recortar e colar.fonte
A melhor maneira é consultar diretamente os guias: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
fonte
Se você deseja executar um único teste, basta executá-los como um script Ruby comum
Você também pode executar um conjunto inteiro (por exemplo, ActiveRecord ou ActionMailer) inserindo
cd
o diretório e executandorake test
dentro dele.fonte
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
sim. Só para esclarecer (não tenho certeza se estou lendo isso errado, mas você disse "arquivos de teste gerados"), isso é para a própria biblioteca do Rails, não para um projeto do Rails.Na minha situação,
rake
só funcionaTESTOPTS="-n='/sample/'"
:fonte
Primeiro, acesse a pasta da lib que você deseja testar (isso é importante) e depois execute:
fonte
Pasta Rails
Observe que você precisa carregar a pasta apropriada: "activerecord / test" (onde você tem o teste)
fonte