日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

单元测试技巧:创建描述性测试

發(fā)布時(shí)間:2023/12/3 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单元测试技巧:创建描述性测试 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

您的單元測(cè)試應(yīng)盡可能具有描述性。 他們給您的反饋應(yīng)該非常清楚,您甚至不需要啟動(dòng)調(diào)試器并一步一步地檢查代碼來(lái)檢查局部變量。 為什么? 因?yàn)槟切枰獣r(shí)間,而且我們很懶,對(duì)嗎? 為此,您需要?jiǎng)?chuàng)建描述性測(cè)試。 有多種實(shí)現(xiàn)方法。 這是其中兩個(gè)。

添加斷言消息

通常可以將斷言消息指定為測(cè)試斷言中的附加參數(shù),并且在該特定測(cè)試用例失敗時(shí),它們會(huì)作為失敗消息出現(xiàn)。

例如,在jUnit中,您可以指定斷言消息,例如:

assertEquals("The firstname of the two people should match if the clone was successful", "Fritz", person1.getFirstname());

另一方面,在MSTest中,必須將斷言消息作為最后一個(gè)參數(shù)添加。

Assert.AreEqual("Fritz", person1.Firstname, "The firstname of the two people should match if the clone was successful");

注意 ,不要“過(guò)度設(shè)計(jì)”。 我將這些注釋與其他代碼注釋類(lèi)似地對(duì)待:如果它們添加了有意義的信息,則只需添加它們即可。 否則,它們就是浪費(fèi),因此就這樣對(duì)待它們。

首選顯式斷言

我所說(shuō)的顯式斷言的意思是對(duì)執(zhí)行的操作使用正確的斷言。 例如,如果您需要像前面提到的斷言中那樣執(zhí)行相等性檢查,請(qǐng)不要使用布爾斷言語(yǔ)句。 (這里是一個(gè)虛擬的QUnit測(cè)試用例的示例)

test('Should correctly clone two people', 1, function(){//...ok(person1.firstname === 'Fritz', 'I expect both names to match if the clone operation succeeded'); });

…以及相應(yīng)的結(jié)果在輸出窗口中:

這個(gè)結(jié)果并不是真正的描述性…

結(jié)果沒(méi)有告訴我們太多,對(duì)吧? 您可以說(shuō)的是,此人的名字與您期望的名字不匹配,因此克隆操作可能不會(huì)成功。 但為什么?? 那它的實(shí)際價(jià)值是多少?

使用equals代替:

test('Should correctly clone two people', 1, function(){//...equal(person1.firstname, 'Fritz', 'I expect both names to match if the clone operation succeeded'); });

……結(jié)果又是:

哦,看那里,有描述性的結(jié)果。

現(xiàn)在,此測(cè)試用例的結(jié)果更具描述性。 它不僅告訴您操作失敗,而且還準(zhǔn)確地向您顯示了預(yù)期值和實(shí)際值。 這可能會(huì)立即提示您可能存在問(wèn)題的地方。

參考: 單元測(cè)試提示:在Juri Strumpflohner的TechBlog博客上,由我們的JCG合作伙伴 Juri Strumpflohner 創(chuàng)建描述性測(cè)試 。

翻譯自: https://www.javacodegeeks.com/2013/06/unit-testing-tip-create-descriptive-tests.html

總結(jié)

以上是生活随笔為你收集整理的单元测试技巧:创建描述性测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。