成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python函數(shù)test,Python函數(shù)中的self

如何使用python編寫測(cè)試腳本

1)doctest

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、十堰網(wǎng)站維護(hù)、網(wǎng)站推廣。

使用doctest是一種類似于命令行嘗試的方式,用法很簡(jiǎn)單,如下

復(fù)制代碼代碼如下:

def f(n):

"""

f(1)

1

f(2)

2

"""

print(n)

if __name__ == '__main__':

import doctest

doctest.testmod()

應(yīng)該來說是足夠簡(jiǎn)單了,另外還有一種方式doctest.testfile(filename),就是把命令行的方式放在文件里進(jìn)行測(cè)試。

2)unittest

unittest歷史悠久,最早可以追溯到上世紀(jì)七八十年代了,C++,Java里也都有類似的實(shí)現(xiàn),Python里的實(shí)現(xiàn)很簡(jiǎn)單。

unittest在python里主要的實(shí)現(xiàn)方式是TestCase,TestSuite。用法還是例子起步。

復(fù)制代碼代碼如下:

from widget import Widget

import unittest

# 執(zhí)行測(cè)試的類

class WidgetTestCase(unittest.TestCase):

def setUp(self):

self.widget = Widget()

def tearDown(self):

self.widget.dispose()

self.widget = None

def testSize(self):

self.assertEqual(self.widget.getSize(), (40, 40))

def testResize(self):

self.widget.resize(100, 100)

self.assertEqual(self.widget.getSize(), (100, 100))

# 測(cè)試

if __name__ == "__main__":

# 構(gòu)造測(cè)試集

suite = unittest.TestSuite()

suite.addTest(WidgetTestCase("testSize"))

suite.addTest(WidgetTestCase("testResize"))

# 執(zhí)行測(cè)試

runner = unittest.TextTestRunner()

runner.run(suite)

簡(jiǎn)單的說,1構(gòu)造TestCase(測(cè)試用例),其中的setup和teardown負(fù)責(zé)預(yù)處理和善后工作。2構(gòu)造測(cè)試集,添加用例3執(zhí)行測(cè)試需要說明的是測(cè)試方法,在Python中有N多測(cè)試函數(shù),主要的有:

TestCase.assert_(expr[, msg])

TestCase.failUnless(expr[, msg])

TestCase.assertTrue(expr[, msg])

TestCase.assertEqual(first, second[, msg])

TestCase.failUnlessEqual(first, second[, msg])

TestCase.assertNotEqual(first, second[, msg])

TestCase.failIfEqual(first, second[, msg])

TestCase.assertAlmostEqual(first, second[, places[, msg]])

TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])

TestCase.assertNotAlmostEqual(first, second[, places[, msg]])

TestCase.failIfAlmostEqual(first, second[, places[, msg]])

TestCase.assertRaises(exception, callable, ...)

TestCase.failUnlessRaises(exception, callable, ...)

TestCase.failIf(expr[, msg])

TestCase.assertFalse(expr[, msg])

TestCase.fail([msg])

Python Test怎么寫

你的上面的代碼有問題啊,附件有兩個(gè)文件MyTest.py為測(cè)試下面代碼的例子

def?sum_items(a_list):

n?=?len(a_list)

sum?=?0

if?n?==?0:

return?0?

else:

for?i?in?range?(0,n-1):

sum?=?sum?+?a_list[i]

return?sum

python中的testresult怎么用

TestResult方法介紹

1. printErrors

作用:被TestRunner在執(zhí)行玩測(cè)試內(nèi)容的時(shí)候調(diào)用,打印錯(cuò)誤信息,默認(rèn)不輸出任何信息

輸入?yún)?shù):無

輸出參數(shù):無

返回值:無

2. startTest(self, test)

作用:在每個(gè)測(cè)試條目執(zhí)行測(cè)試之前被調(diào)用,將測(cè)試條目個(gè)數(shù)加一,設(shè)置_mirrorOutput為False ,最后根據(jù)buffer參數(shù),設(shè)置 sys.stderr 和sys.stdout,

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象

輸出參數(shù):

返回值:

3. startTestRun

作用: 在runner開始執(zhí)行測(cè)試用例之前被調(diào)用,默認(rèn)不執(zhí)行內(nèi)容,和startTest不同,startTest是在Testcase子類調(diào)用。

輸入?yún)?shù):無

輸出參數(shù):無

返回值:無

4. stopTest (self, test)

作用: 在測(cè)試用例執(zhí)行測(cè)試條目之后被調(diào)用,如果處于buffer狀態(tài),并且mirrorOutput為真,即測(cè)試條目執(zhí)行失敗或異常,則將原來緩存的數(shù)據(jù)進(jìn)行輸出。然后將緩存數(shù)據(jù)清空,并_mirrorOutput置為False

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象

輸出參數(shù):無

返回值:無

5 stopTestRun

作用: 在runner執(zhí)行完所有的測(cè)試用例后被調(diào)用,默認(rèn)不執(zhí)行內(nèi)容,和stopTest不同,stopTest是在Testcase子類調(diào)用。

輸入?yún)?shù):無

輸出參數(shù):無

返回值:無

6. addError(self, test, err)

作用: 在測(cè)試用例類執(zhí)行完測(cè)試條目錯(cuò)誤或異常后被調(diào)用,

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象

Err 是根據(jù)sys.exc_info()返回的對(duì)象, 是一個(gè)三元組,(exctype, value, tb) exctype是異常類型,value 是具體的異常數(shù)據(jù),tb 是traceback的內(nèi)容

輸出參數(shù):無

返回值:無

7. addFailure(self, test, err)

作用:在測(cè)試用例類執(zhí)行完測(cè)試條目失敗后被調(diào)用,,默認(rèn)不執(zhí)行內(nèi)容,和stopTest不同,stopTest是在Testcase子類調(diào)用。

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象

Err 是根據(jù)sys.exc_info()返回的對(duì)象, 是一個(gè)三元組,(exctype, value, tb)

exctype是異常類型,value 是具體的異常數(shù)據(jù),tb 是traceback的內(nèi)容,如果處在buffer

為真的情況下,還還會(huì)將當(dāng)前的sys.stdout 和sys.stderr的內(nèi)容也一并合并保存在failture的成員變量列表中的字符串內(nèi)容中。

輸出參數(shù):無

返回值:無

8. addError (self, test, err)

作用:在測(cè)試用例類執(zhí)行完測(cè)試條目失敗后被調(diào)用,,默認(rèn)不執(zhí)行內(nèi)容,和stopTest不同,stopTest是在Testcase子類調(diào)用。

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象

Err 是根據(jù)sys.exc_info()返回的對(duì)象, 是一個(gè)三元組,(exctype, value, tb)

exctype是異常類型,value 是具體的異常數(shù)據(jù),tb 是traceback的內(nèi)容,如果處在buffer

為真的情況下,還還會(huì)將當(dāng)前的sys.stdout 和sys.stderr的內(nèi)容也一并合并保存在error的成員變量列表中的字符串內(nèi)容中。

輸出參數(shù):無

返回值:無

9. addSuccess (self, test)

作用:在測(cè)試用例類執(zhí)行完測(cè)試條目成功后被調(diào)用,,默認(rèn)不執(zhí)行內(nèi)容

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象

輸出參數(shù):無

返回值:無

10. addSkip( self, test, reason):

作用:在測(cè)試用例類執(zhí)行的測(cè)試條目被skip后被調(diào)用,將該條目添加到 skipped 列表中

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象 reson 是skip的原因

輸出參數(shù):無

返回值:無

11. addExpectedFailure (self, test, err):

作用:在測(cè)試用例類執(zhí)行的測(cè)試條目期望的失敗發(fā)生后被調(diào)用,將該條目添加到expectedFailures列表中

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象 err是 該失敗的情況

輸出參數(shù):無

返回值:無

12. addUnexpectedSuccess (self, test):

作用:在測(cè)試用例類執(zhí)行的測(cè)試條目期望的失敗發(fā)生后被調(diào)用,將該條目添加到expectedFailures列表中

輸入?yún)?shù):test 測(cè)試用例類的實(shí)例化對(duì)象 err是 該失敗的情況

輸出參數(shù):無

返回值:無

13. wasSuccessful

作用:通過判斷failures和errors列表是否為空,判斷所有測(cè)試條目是否執(zhí)行成功

輸入?yún)?shù): 無

輸出參數(shù):無

返回值:無

14. stop

作用: shouldStop設(shè)置為True,用于終止測(cè)試

輸入?yún)?shù): 無

輸出參數(shù):無

返回值:無

15. _exc_info_to_string (self, err, test):

作用: 將err 異常數(shù)據(jù)整理成字符串,并且如果有buffer為真,將sys.stdout 和sys.stderr的數(shù)據(jù)也添加到返回的字符串中

輸入?yún)?shù): 無

輸出參數(shù):無

返回值:字符串

16. _is_relevant_tb_level(self, tb):

作用: 將err 異常數(shù)據(jù)整理成字符串,并且如果有buffer為真,將sys.stdout 和sys.stderr的數(shù)據(jù)也添加到返回的字符串中

輸入?yún)?shù): 無

輸出參數(shù):無

返回值:字符串

17. _count_relevant_tb_levels(self, tb):

作用: 獲取traceback的層次數(shù)

輸入?yún)?shù): 無

輸出參數(shù):無

返回值:traceback的層次數(shù)

18, __repr__

作用: 返回一個(gè)顯示測(cè)試項(xiàng)執(zhí)行的數(shù)目以及測(cè)試失敗的條目和異常的條目的個(gè)數(shù)。

輸入?yún)?shù): 無

輸出參數(shù):無

返回值:字符串

注釋:

addError和addFailure 以及

addUnexpectedSuccess 函數(shù) 都有裝飾器@failfast,有了該裝飾器,則在實(shí)際調(diào)用 上述三個(gè)函數(shù)的時(shí)候,都會(huì)被封裝一層 ,額外添加的功能就是會(huì)被用在發(fā)生錯(cuò)誤或失敗的時(shí)候停止測(cè)試。

def failfast(method):

@wraps(method)

def inner(self, *args, **kw):

if getattr(self, 'failfast', False):

self.stop()

return method(self, *args, **kw)

return inner

python中的 if not 怎么理解 定義一個(gè)函數(shù)test()返回bool值 然后 if not test() 怎么理解這個(gè)語(yǔ)句?

大家講的都差不多

1. if 語(yǔ)句用來檢驗(yàn)一個(gè)條件, 如果 條件為真,我們運(yùn)行一塊語(yǔ)句(稱為 if-塊 ), 否則 我們處理

另外一塊語(yǔ)句(稱為 else-塊 )。 else 從句是可選的。---python簡(jiǎn)明教程

2.test() 真 not test()假 , if not test() 不執(zhí)行

test()假 not test()真 ,此時(shí) if not test()后面的就可以被執(zhí)行了

為什么python的函數(shù)沒被調(diào)用就被執(zhí)行了?

因?yàn)槟阋昧似渌K的函數(shù),但是該模塊里面有不是包含在函數(shù)中的代碼,你在引用該模塊中的函數(shù)時(shí)候會(huì)先執(zhí)行被引用模塊的代碼。例如:

a.py里面有 a = 10

print(a)

def test():

print(a)

然后你在b.py 文件中引入了test函數(shù) :from a import test

test() 執(zhí)行的順序就是 先執(zhí)行 a = 10 ,print(a) ,test() 執(zhí)行b.py中的代碼的時(shí)候從from 那一句開始所以a 中的代碼也被執(zhí)行了

網(wǎng)站標(biāo)題:python函數(shù)test,Python函數(shù)中的self
網(wǎng)站鏈接:http://jinyejixie.com/article16/dsedhdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站改版定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、面包屑導(dǎo)航、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
太谷县| 遵义市| 馆陶县| 开阳县| 宁远县| 安丘市| 肇州县| 菏泽市| 定襄县| 靖州| 新兴县| 渑池县| 扎兰屯市| 扬州市| 鄯善县| 贵阳市| 内丘县| 郸城县| 迁安市| 宝山区| 营山县| 庆阳市| 和田市| 阿克陶县| 静安区| 淄博市| 蕲春县| 衡南县| 怀化市| 监利县| 甘南县| 杭锦后旗| 禹州市| 穆棱市| 城步| 搜索| 白水县| 巫溪县| 姜堰市| 迭部县| 临邑县|