Rspec-core: Como definir var de ambiente padrão para RSpec?

Criado em 22 ago. 2016  ·  5Comentários  ·  Fonte: rspec/rspec-core

O que aconteceu e o que eu quero

Eu não quero prefixar um RAILS_ENV=development toda vez

# work
RAILS_ENV=development rspec spec/routing/username_schoolname_spec.rb

# not working
# because in test environment
rspec spec/routing/username_schoolname_spec.rb


O que eu tentei

Eu tentei colocar ENV["RAILS_ENV"] ||= 'development' em cima de spec_helper.rb mas não funcionou

ENV["RAILS_ENV"] ||= 'development' 
require 'factory_girl_rails'
require 'support/factory_girl'
# This file was generated by the `rails generate rspec:install` command. Conventionally, all
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
# The generated `.rspec` file contains `--require spec_helper` which will cause
# this file to always be loaded, without a need to explicitly require it in any
# files.

Eu tentei usar o dovenv gem, mas ainda não está funcionando.



o que devo fazer para definir o ambiente padrão para development ?

Obrigado :dancer:
:sorriso:

Obrigado pelo seu tempo~
RSpec é incrível!

Comentários muito úteis

Isso não funciona com Rails 5.1.4 e rspec 3.7. Ele ignora de bom grado sua configuração de ENV no auxiliar de especificações e aparentemente destruirá com prazer seu banco de dados de desenvolvimento todas as vezes, deixando você se sentindo traído e desapontado. Alguns desenvolvedores são conhecidos por procurar terapia.

Todos 5 comentários

Se você quiser substituir o RAILS_ENV para um teste específico, ou para todos os testes, você pode simplesmente fazer ENV["RAILS_ENV"] = "development" nesse teste ou no topo do seu auxiliar de especificação. O ||= apenas o substituirá se não estiver definido.

@samphippen Obrigado!
Aliás, vi sua palestra no Youtube, muito engraçada.
:D

Isso não funciona com Rails 5.1.4 e rspec 3.7. Ele ignora de bom grado sua configuração de ENV no auxiliar de especificações e aparentemente destruirá com prazer seu banco de dados de desenvolvimento todas as vezes, deixando você se sentindo traído e desapontado. Alguns desenvolvedores são conhecidos por procurar terapia.

@wedgemartin se você quiser relatar um problema, abra um problema no repositório rspec-rails, forneça o código que não está funcionando como você espera, como você espera que funcione e o que está fazendo.

Você já tentou:

before(:each) do
     stub_const('ENV', 'NAME' => '')
end
Esta página foi útil?
0 / 5 - 0 avaliações