2014-11-18 1 views
1

С момента обновления до RSpec 3 мои сгенерированные файлы спецификаций содержат RSpec.describe вместо describe и явно включают тип, например. :type => :model. Например, вот файл модели спецификации, который был только создан для класса под названием «План»:Как предотвратить использование RSpec с помощью «Rspec.describe ...» и «type: ...» в сгенерированных спецификациях?

require 'rails_helper' 

RSpec.describe Plan, :type => :model do 
    pending "add some examples to (or delete) #{__FILE__}" 
end 

Я предпочел бы иметь его выглядеть следующим образом (обратите внимание на изменения в строке 3):

require 'rails_helper' 

describe Plan do 
    pending "add some examples to (or delete) #{__FILE__}" 
end 

... «Тип» кажется особенно избыточным, потому что у меня есть линия config.infer_spec_type_from_file_location! в rails_helper.

Как я могу заставить RSpec генерировать спецификации файлов, которые выглядят как мой второй пример? Я не хочу каждый раз вручную редактировать его.

ответ

4

Если вы посмотрите на шаблон в rspec-rails github repo, вы можете увидеть, что нет возможности сделать это через переменные конфигурации. Но вы можете настроить его, просто создав файл в своем lib/generators/rspec/model/templates/, который называется model_spec.rb для создания пользовательского генератора для ваших моделей. Это просто шаблон Еврорадио, как вы можете увидеть в приведенной выше ссылке:

require 'rails_helper' 

<% module_namespacing do -%> 
RSpec.describe <%= class_name %>, :type => :model do 
    pending "add some examples to (or delete) #{__FILE__}" 
end 
<% end -%> 

Вы должны быть легко в состоянии настроить любой генератор, который Rspec определяет с этим подходом. Йоэ даже может добавить дополнительные вещи. Futher Info - here. Надеюсь, это поможет вам :)

 Смежные вопросы

  • Нет связанных вопросов^_^