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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

unittest核心要素

發(fā)布時(shí)間:2023/12/18 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 unittest核心要素 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 TestCase

一個(gè)TestCase的實(shí)例就是一個(gè)測(cè)試用例。什么是測(cè)試用例呢?就是一個(gè)完整的測(cè)試流程,

包括測(cè)試環(huán)境的準(zhǔn)備(setUp),執(zhí)行測(cè)試代碼(run),以及測(cè)試后環(huán)境的還原(tearDown)。單元

測(cè)試(unit test)的本質(zhì)也就在這里,一個(gè)測(cè)試用例是一個(gè)完整的測(cè)試單元,通過運(yùn)行這個(gè)測(cè)試單元,可以對(duì)某一個(gè)問題進(jìn)行驗(yàn)證。

2 TestSuite

而多個(gè)測(cè)試用例集合在一起就是TestSuite,而且TestSuite也可以嵌套TestSuite。TestLoader是用來加載測(cè)試用例到TestSuite中的。

3 TextTestRunner

TextTestRunner是用來執(zhí)行測(cè)試用例的,其中的run()會(huì)執(zhí)行TestSuite/TestCase中的run(result)方法。測(cè)試的結(jié)果會(huì)保存到TextTestResult實(shí)例中,包括運(yùn)行了多少測(cè)試用例,成功了多少,失敗了多少等信息。

4 Fixture

而對(duì)一個(gè)測(cè)試用例環(huán)境的搭建和銷毀,是一個(gè)fixture。

案例:定義一個(gè)calculate類,然后用unittest進(jìn)行測(cè)試;

#!/usr/bin/python3
class Math:
  def __init__(self,a,b):
    self.a = int(a)
    self.b = int(b)

def add(self):
    return self.a + self.b

測(cè)試代碼:
#!/usr/bin/python3
from calculator import Math
import unittest

class TestMath(unittest.TestCase):
  def setUp(self):
    print('test start')
def test_add(self):
    j = Math(5,10)
    #self.assertEqual(j.add(),15)
    self.assertEqual(j.add(),12)
def tearDown(self):
    print('test end')

if __name__ == '__main__':
  suite = unittest.TestSuite()
  suite.addTest(TestMath('test_add'))

runner = unittest.TextTestRunner()
  runner.run(suite)

執(zhí)行結(jié)果;

Testing started at 16:39 ... C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe "D:\PyCharm Community Edition 2017.3.3\helpers\pycharm\_jb_unittest_runner.py" --path E:/Selenium/unittest/test_Math.py Launching unittests with arguments python -m unittest E:/Selenium/unittest/test_Math.py in E:\Selenium\unittest test start test end

Ran 1 test in 0.008s

FAILED (failures=1)

12 != 15

Expected :15 Actual?? :12 ?<Click to see difference>

Traceback (most recent call last): ? File "D:\PyCharm Community Edition 2017.3.3\helpers\pycharm\teamcity\diff_tools.py", line 30, in _patched_equals ??? old(self, first, second, msg) ? File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 829, in assertEqual ??? assertion_func(first, second, msg=msg) ? File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 822, in _baseAssertEqual ??? raise self.failureException(msg) AssertionError: 15 != 12

During handling of the above exception, another exception occurred:

Traceback (most recent call last): ? File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 59, in testPartExecutor ??? yield ? File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\unittest\case.py", line 605, in run ??? testMethod() ? File "E:\Selenium\unittest\test_Math.py", line 13, in test_add ??? self.assertEqual(j.add(),12)

Process finished with exit code 1

因?yàn)?2 !=15,所以報(bào)錯(cuò)。

?

轉(zhuǎn)載于:https://www.cnblogs.com/holly-j/p/8448512.html

總結(jié)

以上是生活随笔為你收集整理的unittest核心要素的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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