【发布时间】:2018-03-07 10:46:27
【问题描述】:
我在 test/functional 中的测试用例文件很少,它们都需要单独执行。
ruby -Itest test/functional/abc.rb
仅加载轨道需要 30 秒,进行测试需要 5 秒。 有没有办法只加载一次 Rails 并在该会话中运行所有案例文件?
这是一个非常糟糕的解决方案,因为它加载了 5 次轨道。
find test/functional -name '*.rb'|xargs -L 1 ruby -Itest
我需要一个使用 ruby 1.9 的旧 rails 3.2 的解决方案。
只是为了尝试我已经写了 all.rb 但我猜构造函数需要 args 所以它不起作用。
require 'test_helper'
require 'functional/api_controller_test.rb'
ApiControllerTest.new()
【问题讨论】:
-
这是一个 Rails 项目吗?为什么不使用内置测试 guides.rubyonrails.org/testing.html 或 rspec ? github.com/rspec/rspec-rails
-
测试文档没有解释如何同时运行多个文件。我想我没有使用 rspec。使用
ActionController::TestCase -
我注意到的第一件事:你命名了一个测试
abc.rb,但测试套件只会加载以*_test.rb结尾的测试。所以你的文件应该是abc_test.rb -
来自文档:“我们可以使用
bin/rails test命令一次运行所有测试。” -
你能分享一下命令行应该是怎样的吗?
标签: ruby-on-rails ruby unit-testing tdd