您好,登錄后才能下訂單哦!
本篇文章為大家展示了使用python3.6怎么實(shí)現(xiàn)一個單元測試功能,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
1、編寫Student類:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- class Student(object): def __init__(self,name,score): self.name = name self.score = score def get_grade(self): if self.score >= 80 and self.score <= 100: return 'A' elif self.score >= 60 and self.score <= 79: return 'B' elif self.score >= 0 and self.score <= 59: return 'C' else: raise ValueError('value is not between 0 and 100')
2、編寫一個測試類TestStudent,從unittest.TestCase繼承:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import unittest from student import Student class TestStudent(unittest.TestCase): def test_80_to_100(self): s1 = Student('Bart',80) s2 = Student('Lisa',100) self.assertEqual(s1.get_grade(),'A') self.assertEqual(s2.get_grade(),'A') def test_60_to_80(self): s1 = Student('Bart',60) s2 = Student('Lisa',79) self.assertEqual(s1.get_grade(),'B') self.assertEqual(s2.get_grade(),'B') def test_0_to_60(self): s1 = Student('Bart',0) s2 = Student('Lisa',59) self.assertEqual(s1.get_grade(),'C') self.assertEqual(s2.get_grade(),'C') def test_invalid(self): s1 = Student('Bart',-1) s2 = Student('Lisa',101) with self.assertRaises(ValueError): s1.get_grade() with self.assertRaises(ValueError): s2.get_grade() #運(yùn)行單元測試 if __name__ == '__main__': unittest.main()
3、運(yùn)行結(jié)果如下:
4、行單元測試另一種方法:在命令行通過參數(shù)-m unittest直接運(yùn)行單元測試,例如:python -m unittest student_test
最后對使用unittest模塊的一些總結(jié):
編寫單元測試時,需要編寫一個測試類,從unittest.TestCase
繼承
對每一個類測試都需要編寫一個test_xxx()
方法
最常用的斷言就是assertEqual()
另一種重要的斷言就是期待拋出指定類型的Error,eg:with self.assertRaises(KeyError):
另一種方法是在命令行通過參數(shù)-m unittest直接運(yùn)行單元測試:eg:python -m unittest student_test
最簡單的運(yùn)行方式是xx.py的最后加上兩行代碼:
if __name__ == '__main__': unittest.main()
上述內(nèi)容就是使用python3.6怎么實(shí)現(xiàn)一個單元測試功能,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。