Как предотвратить использование RSpec "Rspec.describe... " и "type: ..." в сгенерированных спецификациях?
После обновления до RSpec 3 мои сгенерированные файлы спецификаций содержат RSpec.describe
вместо просто describe
и явно включить тип с помощью, например, :type => :model
, Например, вот файл спецификации модели, который был только что создан для класса с именем "Plan":
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
... вызов "type" кажется особенно избыточным, потому что у меня есть строка config.infer_spec_type_from_file_location!
в rails_helper
,
Как я могу заставить RSpec генерировать файлы спецификаций, которые выглядят как мой второй пример? Я не хочу каждый раз редактировать его вручную.
1 ответ
Если вы посмотрите на шаблон в репозитории rspec-rails github, вы увидите, что нет никакой возможности сделать это через переменные конфигурации. Но вы должны иметь возможность настроить его, просто создав файл в вашем lib/generators/rspec/model/templates/
это называется model_spec.rb
для создания собственного генератора для ваших моделей. Это просто шаблон erb, как вы можете видеть по ссылке выше:
require 'rails_helper'
<% module_namespacing do -%>
RSpec.describe <%= class_name %>, :type => :model do
pending "add some examples to (or delete) #{__FILE__}"
end
<% end -%>
Вы должны легко иметь возможность настроить любой генератор, который Rspec определяет с помощью этого подхода. Йои может даже добавить дополнительные вещи. Дополнительная информация здесь. Надеюсь, это поможет вам:)