中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Rake::TestTask 介紹

發布時間:2020-06-27 11:21:03 來源:網絡 閱讀:393 作者:OneAPM1 欄目:編程語言


李哲 — MAY 28, 2015 
通常我們創建一個新的項目的時候,會建立一個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 = true
    end

將以上代碼保存或添加到項目目錄中的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 skipss

這里再介紹一下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官方技術博客。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铜陵市| 舒城县| 鄱阳县| 阿坝| 石城县| 云浮市| 泽库县| 新和县| 塘沽区| 莫力| 连南| 修文县| 乃东县| 横峰县| 固镇县| 仪陇县| 嘉定区| 碌曲县| 洞口县| 苗栗县| 巴南区| 广南县| 辽宁省| 望江县| 沂水县| 漳平市| 卢氏县| 敦化市| 诸城市| 无棣县| 怀宁县| 颍上县| 临漳县| 玉林市| 石狮市| 旅游| 裕民县| 廉江市| 临安市| 叶城县| 金川县|