我使用 Ruby 2 和 Rails 4。我有一个文件夹test/lib
,其中有一些测试。
但跑步rake test
不使用它们。仅其他测试(模型、控制器等)正在运行。
我必须在哪里添加lib
folder?
我已经尝试过了MiniTest::Rails::Testing.default_tasks << 'lib'
,但我得到NameError Exception: uninitialized constant MiniTest::Rails
。我没有将 minitest gem 添加到 Gemfile 中,因为 Ruby 2 默认使用它。
To use MiniTest::Rails::Testing.default_tasks << 'lib'
你需要添加迷你测试轨道 https://github.com/blowmage/minitest-railsgem 到您的 Gemfile。它与 Minitest 是分开的,并添加了许多 Minitest 缺少的功能,而默认情况下 Rails 中未启用这些功能。 minitest-rails 添加了其他功能,例如为所有具有测试的目录创建 rake 任务。因此,无需对 Rakefile 进行任何更改,您就可以运行如下命令:
$ rake minitest:lib
或者,要以老式方式执行此操作,您可以将以下内容添加到 Rakefile 中:
namespace :test do
desc "Test lib source"
Rake::TestTask.new(:lib) do |t|
t.libs << "test"
t.pattern = 'test/lib/**/*_test.rb'
t.verbose = true
end
end
Rake::Task[:test].enhance { Rake::Task["test:lib"].invoke }
这假设您希望在不使用任何数据库固定装置的情况下运行库测试。如果您想要装置和数据库事务,那么您应该创建依赖于“test:prepare”的 rake 任务。
namespace :test do
desc "Test lib source"
Rake::TestTask.new(:lib => "test:prepare") do |t|
t.libs << "test"
t.pattern = 'test/lib/**/*_test.rb'
t.verbose = true
end
end
Rake::Task[:test].enhance { Rake::Task["test:lib"].invoke }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)