Ruby on rails 如何防止RSpec在生成的规范中使用“RSpec.description…”和“type:…”呢?

Ruby on rails 如何防止RSpec在生成的规范中使用“RSpec.description…”和“type:…”呢?,ruby-on-rails,rspec,rspec3,rails-generators,Ruby On Rails,Rspec,Rspec3,Rails Generators,由于升级到RSpec 3,我生成的规范文件包含RSpec.descripe而不是descripe,并且显式地包含类型,例如:type=>:model。例如,以下是刚刚为名为Plan的类生成的模型规范文件: require 'rails_helper' RSpec.describe Plan, :type => :model do pending "add some examples to (or delete) #{__FILE__}" end 我希望它看起来像这样,注意第3行的变

由于升级到RSpec 3,我生成的规范文件包含RSpec.descripe而不是descripe,并且显式地包含类型,例如: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
。。。类型调用似乎特别冗余,因为我有一行config.expert\u spec\u type\u from\u file\u location!在rails\u助手中


如何使RSpec生成类似于第二个示例的规范文件?我不想每次都手动编辑它。

如果查看中的模板,您可以看到没有通过配置变量执行此操作的选项。但是您应该能够通过在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使用此方法定义的任何生成器。你甚至可以添加额外的东西。进一步的信息是。希望这对您有所帮助:

如果查看中的模板,您会发现没有通过配置变量执行此操作的选项。但是您应该能够通过在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使用此方法定义的任何生成器。你甚至可以添加额外的东西。进一步的信息是。希望这对您有所帮助: