校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Ruby單元測試框架TestUnit的替代者M(jìn)iniTest介紹

Ruby單元測試框架TestUnit的替代者M(jìn)iniTest介紹

熱門標(biāo)簽:天津外呼系統(tǒng)怎么收費(fèi) 中牟外呼系統(tǒng)違法嗎 征服者企業(yè)地圖標(biāo)注 柯城手機(jī)地圖如何做地圖標(biāo)注 巫師3地圖標(biāo)注魔力之所 AI電銷機(jī)器人 線路 漯河電銷 外呼線路從哪里出來的 淮安自動外呼系統(tǒng)供應(yīng)商

MiniTest 是新一代的 Ruby 測試框架,它已經(jīng)成為 Ruby 1.9 的內(nèi)置測試框架,據(jù)說它也將成為Rails 4的默認(rèn)測試框架,可謂前途一片光明。

MiniTest 為什么成為最新 Ruby 和 Rails 的首選,它有哪些吸引人的東西呢?

Ruby 1.8時代,Ruby 和 Rails 的默認(rèn)測試框架都是 TestUnit,TestUnit 歷史悠久,它最大的問題是太慢,太臃腫了,它包含了一堆現(xiàn)在很少使用的第三方庫,比如GTk v1, GTk v2, FxRuby,另外一個大問題的是它缺乏一些基本的測試特性,比如 spec DSL的測試風(fēng)格,比如 mock 支持等等。

MiniTest 相當(dāng)于對 TestUnit 做了一次大的重構(gòu)翻新,它繼承了 TestUnit 大部分用法,消除 TestUnit 中不恰當(dāng)?shù)囊蕾嚕硗庠黾恿嘶镜臏y試特性,比如 spec 和 mock等,整體上變得相當(dāng)快速,簡單整潔。

在 Ruby 和 Rails 的世界,有一個測試框架 Rspec 使用也是非常廣泛的,甚至目前使用廣泛程度超過 TestUnit 和 MiniTest,它為什么沒有成為默認(rèn)框架呢?我想 MiniTest 相對于 Rspec 最大的優(yōu)勢是簡單和延續(xù)性,Rspec 相比 MiniTest 要龐大復(fù)雜得多,當(dāng)然功能也更強(qiáng)大,對于內(nèi)置 Ruby 的類庫來說,還是簡單和保持延續(xù)(相對 TestUnit)更有優(yōu)勢。對于 Rails 來說,Rails 之父 DHH 和 Rspec 一直對不上眼,我想是 Rails 最終選擇 MiniTest 最大的原因,哈哈。

MiniTest 使用示例

如果你用過 TestUnit,MiniTest 使用非常簡單,下面是一個測試的 Hello World

復(fù)制代碼 代碼如下:

class HelloWold
  def get_word
    "Hello World!"
  end
end

測試代碼

復(fù)制代碼 代碼如下:

require 'minitest/autorun'

class HelloWoldTest MiniTest::Unit::TestCase
  def test_get_word
    assert_equal "Hello World!", HelloWold.new.get_word
  end
end

測試代碼, spec風(fēng)格

復(fù)制代碼 代碼如下:

require 'minitest/autorun'

describe HelloWold do
  it "should return hello world" do
    HelloWold.new.get_word.must_equal "Hello World!"
  end
end

如果要在 Rails 項目使用 MiniTest,可以使用 gem minitest-rails,使用 minitest-rails 之后,rails generator 生成的 test 就都轉(zhuǎn)換為 minitest 風(fēng)格代碼。

總結(jié)

MiniTest 相當(dāng)簡單快速,它延續(xù) TestUnit用法,上手非常快,同時它又提供了一些非常棒的特性,試用下來覺得非常不錯,難怪它成為最新 Ruby 和 Rails 的首選,我打算今后就用它了。

您可能感興趣的文章:
  • 公開的免費(fèi)STUN服務(wù)器

標(biāo)簽:西雙版納 南昌 內(nèi)江 棗莊 河池 甘孜 大慶 克拉瑪依

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ruby單元測試框架TestUnit的替代者M(jìn)iniTest介紹》,本文關(guān)鍵詞  Ruby,單元,測試,框架,TestUnit,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ruby單元測試框架TestUnit的替代者M(jìn)iniTest介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ruby單元測試框架TestUnit的替代者M(jìn)iniTest介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 上栗县| 商南县| 张家口市| 赫章县| 霸州市| 舞钢市| 定安县| 五莲县| 玛纳斯县| 漳平市| 手机| 榕江县| 石台县| 淄博市| 江华| 洛浦县| 洮南市| 丽江市| 黎城县| 元谋县| 米泉市| 五寨县| 赤峰市| 青海省| 安泽县| 自贡市| 兰州市| 驻马店市| 揭东县| 开原市| 新营市| 石家庄市| 靖江市| 盐源县| 扶风县| 白城市| 宁安市| 黄梅县| 贵港市| 康马县| 海原县|