您好,登錄后才能下訂單哦!
這篇文章主要講解了“Django中的unittest應用是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Django中的unittest應用是什么”吧!
它是用于對一個確定結果和預測結果的一種判斷,如果結果正確無任何返回效果,如果結果錯誤;會拋出AssertionError 異常,如果后面跟了msg則返回msg內容
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.main():使用它可以方便的將一個單元測試模塊變?yōu)榭芍苯舆\行的測試腳本,main()方法使用TestLoader類來搜索所有包含在該模塊中以“test”命名開頭的測試方法,并自動執(zhí)行他們。執(zhí)行方法的默認順序是:根據ASCII碼的順序加載測試用例,數字與字母的順序為:0-9,A-Z,a-z。所以以A開頭的測試用例方法會優(yōu)先執(zhí)行,以a開頭會后執(zhí)行。
unittest.TestSuite():unittest框架的TestSuite()類是用來創(chuàng)建測試套件的。
unittest.TextTextRunner():unittest框架的TextTextRunner()類,通過該類下面的run()方法來運行suite所組裝的測試用例,入參為suite測試套件。
setUp():方法用于測試用例執(zhí)行前的初始化工作。如測試用例中需要訪問數據庫,可以在setUp中建立數據庫連接并進行初始化。如測試用例需要登錄web,可以先實例化瀏覽器。
tearDown():方法用于測試用例執(zhí)行之后的善后工作。如關閉數據庫連接。關閉瀏覽器。
assert*():一些斷言方法,在執(zhí)行測試用例的過程中,最終用例是否執(zhí)行通過,是通過判斷測試得到的實際結果和預期結果是否相等決定的。
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的一個實例,不是則測試用例通過。
run():是運行測試套件的測試用例,入參為suite測試套件。
unittest.TextTestRunner(verbosity=2).run(suite)
方式一: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)
感謝各位的閱讀,以上就是“Django中的unittest應用是什么”的內容了,經過本文的學習后,相信大家對Django中的unittest應用是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。