【问题标题】:How to re-enable Test::Unit in Rails 4 after 'rails new app --skip-test-unit''rails new app --skip-test-unit'之后如何在Rails 4中重新启用Test::Unit
【发布时间】:2015-06-02 06:34:51
【问题描述】:

我用过

rails new app --skip-test-unit

因为最初,我认为我可以稍后添加测试。

我开发了我的应用程序的重要部分。

现在,我想添加 Test::Unit 但我找不到任何有关如何执行此操作的文档。谷歌搜索只会将我带到 Rails 指南和教程,这些指南和教程假设您在第一次创建应用程序时没有要求 rails 跳过测试框架。

我知道我可能能够弄清楚要手动添加哪些 _test.rb 文件以及如何修改 Rakefile(通过查看在不跳过测试的情况下创建的应用程序),但我更愿意找到一种更简单的方法(如果存在) .

我认为 --skip-test-unit 在某处写了一些东西来告诉 Rails 生成器不要生成测试,而且它还删除了与测试相关的 rake 任务。

最好找出是否有命令(或配置文件修改)将 Test::Unit 恢复到我的 Rails 应用程序。

我不一定介意现有的控制器/模型是否没有测试,并且我不一定想向它们添加测试,但展望未来,我希望由生成器生成测试,我会喜欢能跑

rake test

【问题讨论】:

  • IMO,请使用 minitestRspec。在 Gemfile 中的 developmenttest 组下添加您的 gem
  • 我想使用/重新启用 Rails 内置框架。 --skip-test-unit 禁用了它。 minitest 是内置的 Test::Unit 吗? (请原谅我的问题,但是那里有很多名称和宝石,例如 MiniTest::Spec、minitest-rails 等。)顺便说一下,我的 Gemfile.lock 显示包含 minitest(作为 activesupport 的依赖项)跨度>
  • 有趣的问题。似乎没有任何选项可以重新启用测试用例模板的自动生成。但我确实找到了一堆可以帮助你的生成器。

标签: unit-testing ruby-on-rails-4 rake testunit


【解决方案1】:
TestUnit:
  test_unit:controller
  test_unit:generator
  test_unit:helper
  test_unit:integration
  test_unit:job
  test_unit:mailer
  test_unit:model
  test_unit:plugin
  test_unit:scaffold

这与rails generate 命令一起使用会为你生成相应的测试用例模板。

例如:

rails g test_unit:model School

会生成

test/models/school_test.rb

【讨论】:

    【解决方案2】:

    config/application.rb:

    取消注释以下内容的行:

    require "rails/test_unit/railtie"
    

    【讨论】:

    • 请不要只转储代码作为答案。解释您的思路,以便我们了解您的解决方案。谢谢。
    • 这是正确的答案。只需取消注释他提到的那一行,然后使用从另一个启用了测试的 Rails 项目中获取的正确文件夹和文件填充您的测试文件夹。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多