人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

詳解Django中的unittest及應(yīng)用

發(fā)布日期:2021-12-13 01:06 | 文章來源:腳本之家

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

關(guān)于斷言

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

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():使用它可以方便的將一個單元測試模塊變?yōu)榭芍苯舆\行的測試腳本,main()方法使用TestLoader類來搜索所有包含在該模塊中以“test”命名開頭的測試方法,并自動執(zhí)行他們。執(zhí)行方法的默認順序是:根據(jù)ASCII碼的順序加載測試用例,數(shù)字與字母的順序為:0-9,A-Z,a-z。所以以A開頭的測試用例方法會優(yōu)先執(zhí)行,以a開頭會后執(zhí)行。

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

unittest.TextTextRunner():unittest框架的TextTextRunner()類,通過該類下面的run()方法來運行suite所組裝的測試用例,入?yún)閟uite測試套件。

TestCase類的屬性

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

tearDown():方法用于測試用例執(zhí)行之后的善后工作。如關(guān)閉數(shù)據(jù)庫連接。關(guān)閉瀏覽器。

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

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():是運行測試套件的測試用例,入?yún)閟uite測試套件。

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

unittest框架使用

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

# coding=utf-8
import unittest
# 方式一:unittest.main()來啟動單元測試模塊
class MyTestCase(unittest.TestCase):
 def setUp(self):
  print('測試環(huán)境')
 
 def test(self):
  print('測試用例')
  self.assertEquals(4, 2 * 2)
  self.assertEqual(1, 3, 'something was wrong')
 def tearDown(self):
  print('環(huán)境銷毀')
if __name__ == '__main__':
 unittest.main()

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

# 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)

到此這篇關(guān)于Django中的unittest及應(yīng)用的文章就介紹到這了,更多相關(guān)Django unittest應(yīng)用內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部