摘要:不論你是在寫瀏覽器端還是后端的,總存在那么一個問題我該使用什么單元測試庫去確保我的代碼如預期的運行呢總是有那么一些流行的框架可供選擇。在中仍然流行,并且擁有來自許多地方性的支持。如果你的測試使用它,直到調(diào)用了才能通過。
不論你是在寫瀏覽器端javascript還是后端的nodejs,總存在那么一個問題:我該使用什么單元測試庫去確保我的代碼如預期的運行呢?總是有那么一些流行的框架可供選擇。如果你正在考慮Qunit、Jasmine或者Mocha,那么恰好我這有一些他們的優(yōu)缺點信息介紹,你可能感興趣。
QunitqUnit是我列舉出中最老的一個框架,08年正式發(fā)布。由于時間原因,隨著時間積累了一些用戶。在Jquery中仍然流行,并且擁有來自許多地方性的支持。
它發(fā)展的如何呢?真的不讓人滿意。
特點
大量的支持,從Q&A到CI服務(wù)器支持
缺點
Jasmine語法不流暢
配置令人頭疼,必須持續(xù)維護
引入第三庫比較困難
異步測試困難
No baked-in headless run support(待譯)
Jasmine是稍微新一點的框架,于qUnit發(fā)布后的2年2010年發(fā)布。這是一個有足夠時間成長的框架,然而仍要學習其他javascript框架。它的初衷是易于安裝和適用于任何場景。大多數(shù)場景下,它的運行需要Karma或Chutzpah,除了一些發(fā)行版本(如jasmine-node npm)有內(nèi)建的runner。
它的前景如何呢?對于你想要的大多數(shù)場景來說,它是非常棒的。異步代碼是主要的問題。
特點
對于node來說通過jasmine-node是很好安裝的
Headless running out of the box(待譯)
內(nèi)置流暢漂亮的語法,完美兼容其它測試庫
有許多CI服務(wù)器(如TeamCityp,CodeShip等)和一些本身不支持插件的服務(wù)器支持
可描述性的BDD范例
缺點
Mocha異步測試有些麻煩
所有測試文件都有個確切的后綴(默認*spec.js)
Mocha專為nodeJS的模塊構(gòu)建,2012發(fā)布重大版本。它的API與Jasmine非常像,多了一些語法糖去適用于更多的場景,如BDD。內(nèi)建有runner,所以你不用操心runner了。與jasmine不同,它對異步代碼的測試有很好的支持,通過調(diào)用done函數(shù)。如果你的測試使用它,直到done調(diào)用了test才能通過。如果沒有調(diào)用它,當test方法的代碼執(zhí)行完test才能通過。
我對它的印象是,非常適合我!
特點
易于安裝
Headless running out of the box
允許任何能夠拋出失敗異常測試庫的使用
部分CI服務(wù)器和其它插件的支持
功能上更多是面向行為驅(qū)動開發(fā)或者行為面向測試驅(qū)動開發(fā)
高擴展性
輕而易舉的進行異步測試
缺點
較新的領(lǐng)域,部分領(lǐng)域缺少支持
原文鏈接
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87816.html
摘要:很快我發(fā)現(xiàn)有一個誤區(qū),許多人認為單元測試必須是一個集中運行所有單元的測試,并一目了然。許多人認為單元測試,甚至整個測試都是在編碼結(jié)束后的一道工序,而修復也不過是在做垃圾掩埋一類的工作。 單元測試Unit Test 很早就知道單元測試這樣一個概念,但直到幾個月前,我真正開始接觸和使用它。究竟什么是單元測試?我想也許很多使用了很久的人也不一定能描述的十分清楚,所以寫了這篇文章來嘗試描述它...
摘要:核心功能就是啟動一個服務(wù)并監(jiān)聽項目文件改變,文件改變后再刷新服務(wù)器。 Karma 簡介 Karma是Testacular的新名字,在2012年google開源了Testacular,2013年Testacular改名為Karma。Karma是一個讓人感到非常神秘的名字,表示佛教中的緣分,因果報應(yīng),比Cassandra這種名字更讓人猜不透! Karma是一個基于Node.js的JavaS...
摘要:包括腳手架依賴管理準備測試包括單元測試和端到端測試。我們用來開發(fā)的工具有。是一個工具集,包含個核心組件,,和腳手架工具。當你正在做自己的一個項目時,使用哪些模塊將取決于你自己。這個目錄當然是測試文件。 介紹 有很多可用的工具可以幫助你開發(fā)AngularJS 應(yīng)用,那些非常復雜的框架不在我的討論范圍之中,這也是我開始這系列教程的原因。 在第一部分,我們掌握了AngularJS框架的基本...
摘要:一個靠譜的應(yīng)該包含以下幾部分言簡意賅的項目介紹你的項目解決了什么核心問題,有哪些令人心動的特性。除了在中提到遵循的開源協(xié)議外,一個靠譜的開源項目還會將該開源協(xié)議的內(nèi)容文檔放在自己的項目下方。 0. 前言 寫前端代碼一段時間之后,你可能會萌生做一個開源項目的想法,一方面將自己的好點子分享出去讓更多的人受益,另一方面也可以在社區(qū)貢獻的環(huán)境下學到更多的東西從而快速成長。但是開源項目也有開源項...
閱讀 1261·2023-04-26 02:38
閱讀 944·2023-04-25 20:13
閱讀 3599·2021-11-19 11:31
閱讀 2403·2019-08-30 15:55
閱讀 2731·2019-08-30 14:11
閱讀 3171·2019-08-30 13:45
閱讀 1385·2019-08-29 18:41
閱讀 1158·2019-08-29 16:18