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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

5個單元測試容易放的錯誤

2019-11-14 16:49:46
字體:
供稿:網(wǎng)友

      單元測試對于每個項目都是需要的,它不僅僅是幫助找出代碼中缺陷,更重要是在你修改與增加新模塊時能確保原來的模塊沒有被破壞。

th

下面是5個單元測試容易放的錯誤:
1. 與協(xié)作模塊一起去測試算法。算法邏輯如果能從協(xié)作的代碼中分離出來,應(yīng)該
是最簡單的測試。否則,你得必須通過作業(yè)隊列之前完成測試。作業(yè)隊列中只有一部分復(fù)雜的邏輯。除非你正在測試是作業(yè)隊列本身,并分別測試邏輯。無論代碼和測試都需要變得容易編寫與管理。

2. 太多Mocking. 我們知道通過我們會使用Mocking來隔離依賴,使得它們獨立。換句話說,就是使你的代碼模塊化。當(dāng)你Mock了整個世界,已沒有什么迫使你分得開的部分。那你最終得到的代碼是不能孤立地創(chuàng)造任何東西---全部糾結(jié)在一起了。

3. 沒有使用asserts斷言。有時我看到一些測試只是創(chuàng)建了對像,調(diào)用了方法。可能完成是一個驗證創(chuàng)建或調(diào)用循環(huán)。但是,沒有使用任何的asserts檢查。檢查代碼是否是期待的行為。的確,代碼可運行,如果有拋出異常,也沒有任何東西可以驗證。

4. 使用PRint打印語句。 我看到一些是從手工測試遺留下來的習(xí)慣。你看看它的價值再決定正確與否。但是,所有的檢查應(yīng)該使用斷言進行。如果斷言失敗,你會看到它,因為測試失敗。如果測試通過,沒有什么應(yīng)該被打印出來。有時候,開發(fā)測試時,它可以用print語句非常有用。但在這種情況下,添加一個標(biāo)志,并關(guān)閉測試中打印,來檢查這個標(biāo)志。

5.檢查log語句,不是結(jié)果。值得慶幸的這是不常見的,但我還是看到了,否則很能干的開發(fā)者做到這一點。無論結(jié)果是多么重要,沒有打印在log中,可能在代碼有錯誤,并且測試仍然通過。

最后3個錯誤容易避免,前2個需要花些時間,但代碼最終漂亮的隔離開了。

希望對您軟件開發(fā)有幫助。

您可能感興趣的文章:

使用Moles框架實現(xiàn)HttpWebRequest與HttpWebResponse的單元測試

數(shù)據(jù)訪問層的單元測試

軟件項目避免開發(fā)兒童玩具


作者:Petter Liu
出處:http://www.survivalescaperooms.com/wintersun/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
該文章也同時發(fā)布在我的獨立博客中-Petter Liu Blog。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 交城县| 喜德县| 南丹县| 楚雄市| 安新县| 渝中区| 子洲县| 昆明市| 奉贤区| 襄樊市| 聂拉木县| 天门市| 万盛区| 澄江县| 穆棱市| 津南区| 庆城县| 泸水县| 广水市| 海晏县| 临武县| 呼伦贝尔市| 宿松县| 榆林市| 米林县| 和政县| 抚宁县| 黄浦区| 湖州市| 宣恩县| 富裕县| 星子县| 九台市| 和田县| 宜良县| 新营市| 邻水| 南雄市| 徐汇区| 凌源市| 连云港市|