Rake::TestTask 介绍
2019獨角獸企業重金招聘Python工程師標準>>>
Rake::TestTask 介紹
通常我們創建一個新的項目的時候,會建立一個test或者spec的文件夾來存放測試的文件,運行這些測試需要單獨的命令,比如在項目目錄下執行rspec .或者ruby test.rb等等,這些測試的工具中大多也都提供了更方便的方式來運行這些測試,但是如果你喜歡用Rake的話,那就有另外一個選擇Rake::TestTask。
先上代碼:
require "rake/testtask"Rake::TestTask.new do |t|t.libs << "test"t.pattern = "test/*_test.rb"t.verbose = trueend將以上代碼保存或添加到項目目錄中的Rakefile,然后在這個目錄下執行rake test,你就可以看到如下輸出(這里我用的測試框架是Minitest):
/home/lizhe/.rvm/rubies/ruby-2.2.2/bin/ruby -I"lib:test" "/home/lizhe/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/rake/rake_test _loader.rb" "test/person_test.rb"Run options: --seed 535# Running:.Finished in 0.000558s, 1793.5482 runs/s, 1793.5482 assertions/s.1 runs, 1 assertions, 0 failures, 0 errors, 0 skips如果去掉最上面代碼中的t.verbose = true的話:
require "rake/testtask"Rake::TestTask.new do |t|t.libs << "test"t.pattern = "test/*_test.rb"end則輸出結果就不會顯示執行的ruby命令,如下:
Run options: --seed 17527# Running:.Finished in 0.001629s, 613.9689 runs/s, 613.9689 assertions/s.1 runs, 1 assertions, 0 failures, 0 errors, 0 skips這里再介紹一下Rake::TestTask的配置選項:
- libs會被添加到$LOAD_PATH中;
- pattern 測試文件的名稱匹配,還有另外一個叫做test_files,這兩個使用哪一個都可以,如果同時使用的話,會合并兩者;
- verbose 輸出這個Rake::TestTask執行的具體Ruby命令;
- options 指定給測試框架的參數,類型為數組,也可以通過傳入TESTOPTS命令行參數達到相同的目的;
- ruby_opts執行ruby命令時的參數,類型為數組,比如可以在指定為-rtesthelper,避免每個測試文件重復require "test_helper";
- name Rake Task的名稱,默認是test;
還有一點,在我們執行rake test的時候,是可以傳入一些參數的,比如我執行執行test/dummy_test.rb這個測試,那么就可以指定TEST參數:
rake test TEST=test/dummy_test.rb還可以通過TESTOPTS給你使用的測試框架傳入參數,比如Minitest有-v和-p兩個參數,那么就可以這樣傳進去:
rake test TESTOPTS="-vp"參考鏈接:http://ruby-doc.org/stdlib-2.2.2/libdoc/rake/rdoc/Rake/TestTask.html
本文系OneAPM工程師編譯整理。OneAPM是中國基礎軟件領域的新興領軍企業。專注于提供下一代應用性能管理軟件和服務,幫助企業用戶和開發者輕松實現:緩慢的程序代碼和SQL語句的實時抓取。想技術文章,請訪問OneAPM官方技術博客。
轉載于:https://my.oschina.net/oneapmofficial/blog/421213
總結
以上是生活随笔為你收集整理的Rake::TestTask 介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搜狐新闻如何关闭自动更新(搜狐电视剧频道
- 下一篇: 王者荣耀庄周带什么技能 《王者》在线观看