一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 詳解Django中的unittest及應用

詳解Django中的unittest及應用

2022-02-26 00:20rongge Python

unittest是python的一個單元測試框架,它是用于對一個確定結果和預測結果的一種判斷,這篇文章主要介紹了Django中的unittest及應用,需要的朋友可以參考下

unittest是python的一個單元測試框架

關于斷言

它是用于對一個確定結果和預測結果的一種判斷,如果結果正確無任何返回效果,如果結果錯誤;會拋出AssertionError 異常,如果后面跟了msg則返回msg內容

?
1
2
3
4
5
6
7
8
9
10
11
12
assert 2 == 2
assert 2 == 1 * 2
assert 2 + 0 == 1 * 2
# ----------------- 以上無任何返回效果
 
assert 1 > 3, 'wrong'
'''
Traceback (most recent call last):
  File "D:/project_of_3期課程/day22/類.py", line 259, in <module>
    assert 1 > 3, 'wrong'
AssertionError: wrong
'''

unittest模塊屬性說明

unittest的屬性

unittest.main():使用它可以方便的將一個單元測試模塊變為可直接運行的測試腳本,main()方法使用TestLoader類來搜索所有包含在該模塊中以“test”命名開頭的測試方法,并自動執行他們。執行方法的默認順序是:根據ASCII碼的順序加載測試用例,數字與字母的順序為:0-9,A-Z,a-z。所以以A開頭的測試用例方法會優先執行,以a開頭會后執行。

unittest.TestSuite():unittest框架的TestSuite()類是用來創建測試套件的。

unittest.TextTextRunner():unittest框架的TextTextRunner()類,通過該類下面的run()方法來運行suite所組裝的測試用例,入參為suite測試套件。

TestCase類的屬性

setUp():方法用于測試用例執行前的初始化工作。如測試用例中需要訪問數據庫,可以在setUp中建立數據庫連接并進行初始化。如測試用例需要登錄web,可以先實例化瀏覽器。

tearDown():方法用于測試用例執行之后的善后工作。如關閉數據庫連接。關閉瀏覽器。

assert*():一些斷言方法,在執行測試用例的過程中,最終用例是否執行通過,是通過判斷測試得到的實際結果和預期結果是否相等決定的。

assertEqual(a,b,[msg='測試失敗時打印的信息']):斷言a和b是否相等,相等則測試用例通過。

assertNotEqual(a,b,[msg='測試失敗時打印的信息']):斷言a和b是否相等,不相等則測試用例通過。

assertTrue(x,[msg='測試失敗時打印的信息']):斷言x是否True,是True則測試用例通過。

assertFalse(x,[msg='測試失敗時打印的信息']):斷言x是否False,是False則測試用例通過。

assertIs(a,b,[msg='測試失敗時打印的信息']):斷言a是否是b,是則測試用例通過。

assertNotIs(a,b,[msg='測試失敗時打印的信息']):斷言a是否是b,不是則測試用例通過。

assertIsNone(x,[msg='測試失敗時打印的信息']):斷言x是否None,是None則測試用例通過。

assertIsNotNone(x,[msg='測試失敗時打印的信息']):斷言x是否None,不是None則測試用例通過。

assertIn(a,b,[msg='測試失敗時打印的信息']):斷言a是否在b中,在b中則測試用例通過。

assertNotIn(a,b,[msg='測試失敗時打印的信息']):斷言a是否在b中,不在b中則測試用例通過。

assertIsInstance(a,b,[msg='測試失敗時打印的信息']):斷言a是是b的一個實例,是則測試用例通過。

assertNotIsInstance(a,b,[msg='測試失敗時打印的信息']):斷言a是是b的一個實例,不是則測試用例通過。

TextTextRunner的屬性

run():是運行測試套件的測試用例,入參為suite測試套件。

?
1
unittest.TextTestRunner(verbosity=2).run(suite)

unittest框架使用

方式一:unittest.main()來啟動單元測試模塊

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# coding=utf-8
import unittest
# 方式一:unittest.main()來啟動單元測試模塊
class MyTestCase(unittest.TestCase):
    def setUp(self):
        print('測試環境')
 
    def test(self):
        print('測試用例')
        self.assertEquals(4, 2 * 2)
        self.assertEqual(1, 3, 'something was wrong')
    def tearDown(self):
        print('環境銷毀')
if __name__ == '__main__':
    unittest.main()

方式二:添加到testsuite集合中,再加載所有的被測試對象

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# coding=utf-8<br>import unittest<br><br>class TestCase(unittest.TestCase):
    def test1(self):
        print('one')
 
    def test2(self):
        print('two')
 
class TestCase1(unittest.TestCase):
    def test1(self):
        print('three')
 
    def test2(self):
        print('four')
 
if __name__ == '__main__':
    un1 = unittest.TestLoader().loadTestsFromTestCase(TestCase)
    un2 = unittest.TestLoader().loadTestsFromTestCase(TestCase1)
 
    suite = unittest.TestSuite([un1, un2])
    unittest.TextTestRunner(verbosity=2).run(suite)

到此這篇關于Django中的unittest及應用的文章就介紹到這了,更多相關Django unittest應用內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/rongge95500/articles/10512186.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 婷婷sese| 精品卡1卡2卡三卡免费网站 | 美女全身体光羞羞漫画 | 国产福利你懂的 | 亚洲XXX午休国产熟女屁 | 亚洲狠狠婷婷综合久久久久网站 | 四虎永久免费在线观看 | 美国videos | 久久成人精品免费播放 | 国产a片毛片 | 欧美折磨另类系列sm | 色就色欧美综合偷拍区a | 天堂8在线天堂资源bt | 91久久青青草原线免费 | 草逼动漫| 亚洲欧美日韩另类在线 | 国产欧美一区二区三区精品 | 娇小8一12xxxx第一次 | 亚洲美色综合天天久久综合精品 | yellow视频在线观看 | 久久噜国产精品拍拍拍拍 | 亚洲精品色综合久久 | 亚洲色图150p | 欧美成人影院免费观 | 天堂网在线.www天堂在线视频 | 女人用粗大自熨喷水在线视频 | 欧美午夜网站 | 免费我看视频在线观看 | 1024国产精品视频观看 | 午夜福利理论片高清在线 | 十六以下岁女子毛片免费 | 国产成人精品免费视频大全五级 | 国产成人啪精品视频站午夜 | 2020年国产精品午夜福利在线观看 | 日韩v | 亚洲免费色图 | 国产精品视频一区二区三区经 | 午夜国产理论 | 日日摸日日碰夜夜爽97纠 | 1717she精品视频在线观看 | 日本午夜大片免费观看视频 |