Ruby on rails 如何像测试套件一样将所有用例一起测试

Ruby on rails 如何像测试套件一样将所有用例一起测试,ruby-on-rails,ruby,unit-testing,tdd,Ruby On Rails,Ruby,Unit Testing,Tdd,我在test/functional中有几个测试用例文件,它们都需要单独执行 ruby -Itest test/functional/abc.rb 仅rails加载需要30秒,测试需要5秒。 有没有办法只加载一次rails并在该会话中运行所有案例文件 这是一个非常糟糕的工作解决方案,因为它要加载rails 5次 find test/functional -name '*.rb'|xargs -L 1 ruby -Itest 我需要一个使用ruby 1.9的旧rails 3.2解决方案 为了尝试

我在test/functional中有几个测试用例文件,它们都需要单独执行

ruby -Itest test/functional/abc.rb
仅rails加载需要30秒,测试需要5秒。 有没有办法只加载一次rails并在该会话中运行所有案例文件

这是一个非常糟糕的工作解决方案,因为它要加载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()
确保以该结尾命名测试文件:*u test.rb

在Rails 3中,您可以运行整个testsuite,如下所示:

-


阅读更多信息:

这是rails项目吗?为什么不使用内置测试或rspec?Testing文档没有解释如何一起运行多个文件。我想我没有使用rspec。使用ActionController::TestCase我注意到的第一件事是:您命名了一个测试abc.rb,但是测试套件将只加载以该结尾的测试*\u test.rb。因此,您的文件应该是文档中的abc_test.rbf:我们可以使用bin/rails test命令一次运行所有测试。您可以分享命令行应该如何运行吗?也可以尝试一下。给出:~/.bundle/ruby/1.9.1/gems/rake-10.4.2/lib/rake/trace_输出。rb:16:in block in trace_on:US-ASCII ArgumentErrorOK中的字节序列无效,此错误与实际问题无关。如果您的gems集中有未在UTF-8中定义的gems,则可能发生这种情况。很难找出是哪些宝石导致了这种情况。最好的方法是一步一步地卸载它们,然后找到没有安装的。仍然使用find和xargs进行完整测试。
$ rake test
$ bundle exec rake test