Eu tenho test-unit
instalado e rspec
instalado (junto com -core
, -expectations
, -mocks
e -rails
versão 2.6.x). Quando executo o comando rails new foo
, ele é usado test-unit
para gerar os arquivos stub de teste em vez de rspec
.
Existe uma opção em que eu possa dizer ao Rails para usar o rspec para gerar os testes?
ruby-on-rails-3
rspec
rspec2
testunit
aarona
fonte
fonte
generator.rb
inicializador, isso é tratado pela ferrovia do RSpec. Tudo o que você precisa estárspec-rails
dentro dodevelopment
grupoGemfile
suficiente para exigir isso para os geradores. Você também não precisa gerar o aplicativo-T
, pode excluir otest
diretório e ele funcionará."rails/test_unit/railtie"
comentado emapplication.rb
rspec-rails
gema, é importante colocá-la em teste e desenvolvimento, ou os geradores não usarão o RSpec, mesmo se você seguir as etapas acima.Crie seu novo aplicativo rails como:
Ou remova seu
test
diretório do aplicativo existente:Faça uma entrada no seu Gemfile:
Na linha de comando, instale a gema
Na linha de comando, instale o rspec no seu aplicativo:
Agora, seu aplicativo de trilhos usa o RSpec em vez da unidade de teste.
fonte
Depois de criar seu aplicativo rails com:
Adicione a gema RSpec ao seu Gemfile da seguinte maneira:
Na linha de comando, escreva:
Agora você precisa instalar o RSpec executando:
Isso irá gerar os seguintes arquivos:
É altamente recomendável ler todos os comentários spec_helper e rails_helper para entender melhor o que cada opção faz.
Depois que tudo estiver definido, você poderá executar todos os seus testes com:
Você pode ler mais sobre as configurações recomendadas spec_helper e rails_helper em https://kolosek.com/rails-rspec-setup .
fonte
Sou um novo desenvolvedor e acabei de fazer um sinalizador de trilhos (-rspec) para resolver o problema do OP. Ele se livra do Test :: Unit e insere a gema rails-rspec com um script bash. O script pode ser modificado para ajudar os desenvolvedores do Linux, adicionando automaticamente o therubyracer gem ou criando flags e gemsets personalizados. (talvez vá especificamente para a linha da gema e exclua o comentário)
Aqui está a essência && Espero que isso ajude alguém por aí. https://gist.github.com/MTen/8310116
fonte
Não há maneira nativa de fazer isso com a
rails
CLI. Gere um novo projeto semtest-unit
:rails new rails-app --skip-test
E siga as
rspec
instruções para integrá-lo ao novo aplicativo Rails.fonte