Rails中如何禁用单元测试生成器

19

有没有人知道如何在Rails中禁用自动生成单元测试文件?每当创建控制器、模型或迁移时,它就会在test/目录中创建关联的文件; 我需要禁用这个功能。

另外,是否可能使RPsec接管,以便在执行标准rails g model|controller|migration命令时使用RSpec(在spec/目录中)创建文件?


2
如果您想禁用测试的所有部分生成,可以在 application.rb 中使用 config.generators.test_framework false - aaron-coding
1个回答

32

你希望在你的application.rb中加入类似这样的东西。

config.generators do |g|
    g.test_framework  :rspec, :fixture => false
    g.view_specs      false
    g.helper_specs    false
end

更多信息请参考:http://guides.rubyonrails.org/generators.html#customizing-your-workflow

个人而言,我使用这个:

config.generators do |g|
    g.orm             :mongoid
    g.template_engine :haml
    g.test_framework  :rspec, :fixture => false
    g.view_specs      false
    g.helper_specs    false
    g.fixture_replacement :fabrication
end

1
除了应该是 :fixture => false。Rails 的固定装置是危险的,会使你的测试变得脆弱和不准确。使用工厂代替。 - Marnen Laibow-Koser
1
对于Rails引擎,这将放入engine.rb文件中。 - aceofspades
1
这在Rails 5上并不能禁用test_unit生成。如果我执行“g.test_framework false”,它只会禁用rspec生成。 - labyrinth
1
我仍然在test/integration/job_test.rb中得到一个文件(我的类名为job)。这是来自Rspec吗? - Jepzen
1
@Jepzen 我不得不添加 g.integration_tool:rspec 以解决这个问题,并让 rspec 处理集成。 - Adam
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接