Python單元測試中有哪些裝飾器?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)是專業(yè)的珠海網(wǎng)站建設(shè)公司,珠海接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行珠海網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
Python單元測試unittest中提供了一下四種裝飾器實(shí)現(xiàn)測試跳過和預(yù)期故障。
請(qǐng)查考Python手冊(cè)中:
#以下裝飾器實(shí)施測試跳過和預(yù)期故障:
@unittest.skip(原因)
Unconditionally skip the decorated test. reason should describe why the test is being skipped.
#無條件跳過裝飾測試。 原因應(yīng)該說明為什么要跳過測試。
@unittest.skipIf(條件,原因)
Skip the decorated test if condition is true.
#如果條件為真,跳過裝飾測試。
@unittest.skipUnless(條件,原因)
Skip the decorated test unless condition is true.
# 跳過裝飾的測試,除非條件是真的。
@unittest.expectedFailure
Mark the test as an expected failure. If the test fails when run, the test is not counted as a failure.
#將測試標(biāo)記為預(yù)期的失敗。 如果測試在運(yùn)行時(shí)失敗,則測試不會(huì)被視為失敗。
(以上采用谷歌翻譯,可能會(huì)有差異)
好了,寫段代碼看下,test.py ,使用的Eclipse
#coding:UTF-8 import unittest from test.test_pprint import uni class Test_ce(unittest.TestCase): a=16 b=10 @unittest.skip('無條件跳過') def test_ce1(self): self.assertEqual((self.a-self.b), 16) #判斷是否相等 @unittest.skipIf(True==1, '條件為真則跳過') def test_ce_2(self): self.assertFalse(self.a==self.b) #判斷是否為False @unittest.skipUnless(1==1, '條件為假則跳過') def test_ce_3(self): self.assertTrue(self.a>16) #判斷是否為True @unittest.expectedFailure def test_ce_4(self): self.assertFalse(self.a==16) @unittest.expectedFailure def test_ce_5(self): self.assertFalse(self.a==15) if __name__ == '__main__': unittest.main()
好的,運(yùn)行一下
ssFxu ====================================================================== FAIL: test_ce_3 (__main__.Test_ce) ---------------------------------------------------------------------- Traceback (most recent call last): File "D:\Escplise\workspace\Pytest\src\test001\CE.py", line 20, in test_ce_3 self.assertTrue(self.a>16) AssertionError: False is not true ---------------------------------------------------------------------- Ran 5 tests in 0.000s FAILED (failures=1, skipped=2, expected failures=1, unexpected successes=1)
好的,我們對(duì)第1行代碼進(jìn)行分析:
s:全稱是skipped(跳過)
s:條件為真,所以也是skipped(跳過)
F:條件為真,所以忽略裝飾器,執(zhí)行斷言代碼,顯然是failures(失敗)
x:斷言結(jié)果顯然是失敗的,但是這是在我們意料之中,所以是expected failures(預(yù)期的失敗)
u:斷言結(jié)果顯然是pass,但是我們預(yù)計(jì)可能不通過,所以是unexpected successes(意想不到的成功)
即第13行代碼 所示 FAILED (failures=1, skipped=2, expected failures=1, unexpected successes=1)
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。
分享名稱:Python單元測試中有哪些裝飾器
當(dāng)前路徑:http://vcdvsql.cn/article44/pepghe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、企業(yè)網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)