單元測試初體驗

本文章轉(zhuǎn)載于搜狗測試

單元測試初體驗

背景:總結(jié)最近一段時間內(nèi)崩潰,發(fā)現(xiàn)輸入法核心層面的崩潰比較多而且好多是黑盒測試手段難以模擬的存筏,比如說傳入的單詞不合法等情況,為解決該問題,想要嘗試做單元測試瑟曲,看看能不能解決士鸥。

一闲孤、環(huán)境搭建:

Gtest是google提供的單元測試框架,因此本次也是沿用該框架烤礁。搭建步驟網(wǎng)上有很多可以參考的資料讼积,我這邊就不贅述〗抛校可以參考下面的文章:

http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html

注意事項:

(1)我的被測工程是x64的勤众,因此gtest 編譯也需要是x64的

(2)第二 開發(fā)工程的環(huán)境是VS2015,因此gtest工程編譯也最好使用VS2015

二鲤脏、用例編寫步驟

(1)確定需要做單元測試的類以及接口

(2)環(huán)境初始化

(3)針對每個參數(shù)做容錯:根據(jù)參數(shù)的類型们颜、范圍吕朵、含義

(4)檢驗結(jié)果

三、實例應(yīng)用

本用例是要對用戶詞庫的加載函數(shù)進行單元測試窥突,每次都需要

將詞庫文件加載到內(nèi)存中努溃,然后在對函數(shù)參數(shù)進行各種校驗。

問題:

這樣寫的話阻问,每個case都會很冗余梧税,每次都要從文件中加載詞庫到內(nèi)存中

再做操作,name有木有什么辦法可以所有用例執(zhí)行前就將環(huán)境初始化称近,執(zhí)行完畢第队,

再恢復(fù)呢。Gtest還真提供了此類功能:可以注冊全局事件煌茬,再所有case執(zhí)行之前

做一些環(huán)境初始化操作斥铺,case執(zhí)行完畢之后,還可以做一些清理工作坛善。

要實現(xiàn)全局事件晾蜘,必須寫一個類,繼承testing::Environment類眠屎,實現(xiàn)里面的SetUp和TearDown方法剔交。

1. SetUp()方法在所有案例執(zhí)行前執(zhí)行

2. TearDown()方法在所有案例執(zhí)行后執(zhí)行

在main函數(shù)中進行注冊聲明:

這樣優(yōu)化之后,我的用例就簡潔多啦:

除了全局事件之外改衩,gtest的事件機制還包括:

(1)TestSuite級別的岖常,在某一批案例中第一個案例前,最后一個案例執(zhí)行后葫督。

(2) TestCase級別的竭鞍,每個TestCase前后。

具體使用哪一種根據(jù)具體需求而定橄镜,有興趣的童鞋可以去詳細了解下偎快。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市洽胶,隨后出現(xiàn)的幾起案子晒夹,更是在濱河造成了極大的恐慌,老刑警劉巖姊氓,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丐怯,死亡現(xiàn)場離奇詭異,居然都是意外死亡翔横,警方通過查閱死者的電腦和手機读跷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來禾唁,“玉大人舔亭,你說我怎么就攤上這事些膨。” “怎么了钦铺?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肢预。 經(jīng)常有香客問我矛洞,道長,這世上最難降的妖魔是什么烫映? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任沼本,我火速辦了婚禮,結(jié)果婚禮上锭沟,老公的妹妹穿的比我還像新娘抽兆。我一直安慰自己,他們只是感情好族淮,可當(dāng)我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布辫红。 她就那樣靜靜地躺著,像睡著了一般祝辣。 火紅的嫁衣襯著肌膚如雪贴妻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天蝙斜,我揣著相機與錄音名惩,去河邊找鬼。 笑死孕荠,一個胖子當(dāng)著我的面吹牛娩鹉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播稚伍,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼弯予,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了槐瑞?” 一聲冷哼從身側(cè)響起熙涤,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎困檩,沒想到半個月后祠挫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡悼沿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年等舔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糟趾。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡慌植,死狀恐怖甚牲,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝶柿,我是刑警寧澤丈钙,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站交汤,受9級特大地震影響雏赦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芙扎,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一星岗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戒洼,春花似錦俏橘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至汉额,卻和暖如春曹仗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蠕搜。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工怎茫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妓灌。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓轨蛤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親虫埂。 傳聞我的和親對象是個殘疾皇子祥山,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 本文主要講利用mockito框架的單元測試流程,具體的mockito代碼部分放在下篇介紹掉伏。 1.1 單元測試的目的...
    果果醬ya閱讀 7,299評論 0 5
  • 之前大學(xué)學(xué)習(xí)軟件測試的時候缝呕,聽過單元測試這個說法,但是一直比較抽象斧散,沒有具體的實踐過供常,剛好今天學(xué)習(xí)阮一峰老師的mo...
    我愛薩摩耶閱讀 1,093評論 1 0
  • 用Python搭建自動化測試框架,我們需要組織用例以及測試執(zhí)行鸡捐,這里博主推薦Python的標準庫——unittes...
    灰藍藍藍藍藍藍閱讀 9,615評論 3 56
  • @Author:彭海波 前言 單元測試(又稱為模塊測試, Unit Testing)是針對程序模塊(軟件設(shè)計的最小...
    海波筆記閱讀 4,948評論 0 52
  • 文/顧文畫 抓不住逝去的年華 也抓不住口中吐出的煙霧 其實可以做的事情很多 但歸根到底 其實可以做的事情很少 有時...
    顧文畫閱讀 374評論 0 1