国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Ruby > 正文

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

2020-02-24 15:37:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Minitest是新一代Ruby測(cè)試框架,其實(shí)小型測(cè)試也將成為Rails4的默認(rèn)測(cè)試框架的方向,并且有著光明的前景,武林技術(shù)頻道將為大家推薦Ruby單元測(cè)試框架TestUnit的替代者M(jìn)iniTest介紹。

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

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

MiniTest 相當(dāng)于對(duì) TestUnit 做了一次大的重構(gòu)翻新,它繼承了 TestUnit 大部分用法,消除 TestUnit 中不恰當(dāng)?shù)囊蕾?lài),另外增加了基本的測(cè)試特性,比如 spec 和 mock等,整體上變得相當(dāng)快速,簡(jiǎn)單整潔。

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

MiniTest 使用示例

如果你用過(guò) TestUnit,MiniTest 使用非常簡(jiǎn)單,下面是一個(gè)測(cè)試的 Hello World

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

class HelloWold
? def get_word
??? "Hello World!"
? end
end

?

測(cè)試代碼

?

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

require 'minitest/autorun'

?

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

?

測(cè)試代碼, 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 項(xiàng)目使用 MiniTest,可以使用 gem minitest-rails,使用 minitest-rails 之后,rails generator 生成的 test 就都轉(zhuǎn)換為 minitest 風(fēng)格代碼。

上文是武林技術(shù)頻道小編介紹的關(guān)于Ruby單元測(cè)試框架TestUnit的替代者M(jìn)iniTest介紹,其實(shí)小型測(cè)試相當(dāng)簡(jiǎn)單和快速,它是最新Ruby和Rails的首選。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 广德县| 连平县| 沁阳市| 南安市| 徐汇区| 永平县| 井冈山市| 冀州市| 都安| 遂昌县| 古丈县| 铜川市| 林周县| 太白县| 栾川县| 静安区| 通渭县| 长垣县| 社会| 大新县| 横峰县| 山阳县| 海原县| 定结县| 新巴尔虎左旗| 旬阳县| 新闻| 大厂| 民和| 丹江口市| 家居| 灌南县| 祁门县| 宜都市| 五河县| 望谟县| 任丘市| 肇州县| 夏河县| 绥中县| 定南县|