使用Rake运行Ruby单元测试

kmi*_*ael 33 ruby rake

我正在研究使用Rake构建工具来自动运行单元测试.我在网上搜索过,但所有的例子都是使用rails.我通常只是编写小型命令行程序或简单的Sinatra应用程序.

所以我提出了以下(可能是坏的)解决方案,它只是模仿我在命令行上会做的事情:(我只是以一个单元测试为例.)

desc 'Run unit tests'
task :test do
    sh 'ruby -I lib test/test_entry.rb'
end
task :default => :test
Run Code Online (Sandbox Code Playgroud)

它有效,但我不禁想到必须有更好的方法,只是写作require 'test/test_entry.rb'不起作用.我遇到require问题,Ruby无法找到lib所有文件所在的目录.

DNN*_*NNX 62

使用Rake :: TestTask http://rake.rubyforge.org/classes/Rake/TestTask.html.将它放入您的Rake文件,然后运行rake test:

require 'rake/testtask'

Rake::TestTask.new do |t|
  t.libs << "test"
  t.test_files = FileList['test/test*.rb']
  t.verbose = true
end
Run Code Online (Sandbox Code Playgroud)