亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python3.6編寫的單元測試示例

系統 1970 0

本文實例講述了python3.6編寫的單元測試。分享給大家供大家參考,具體如下:

使用python3.6編寫一個單元測試demo,例如:對學生Student類編寫一個簡單的單元測試。

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()
#運行單元測試
if __name__ == '__main__':
  unittest.main()


          

3、運行結果如下:

python3.6編寫的單元測試示例_第1張圖片

4、行單元測試另一種方法:在命令行通過參數-m unittest直接運行單元測試,例如:python -m unittest student_test

python3.6編寫的單元測試示例_第2張圖片

最后對使用unittest模塊的一些總結:

  1. 編寫單元測試時,需要編寫一個測試類,從 unittest.TestCase 繼承
  2. 對每一個類測試都需要編寫一個 test_xxx() 方法
  3. 最常用的斷言就是 assertEqual()
  4. 另一種重要的斷言就是期待拋出指定類型的Error,eg: with self.assertRaises(KeyError):
  5. 另一種方法是在命令行通過參數-m unittest直接運行單元測試:eg: python -m unittest student_test
  6. 最簡單的運行方式是xx.py的最后加上兩行代碼:
            
if __name__ == '__main__':
  unittest.main()
          

更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天摸日日碰天天看免费 | 亚洲成人免费看 | 亚洲国产精品国产自在在线 | 国产永久免费爽视频在线 | 最刺激黄a大片免费观看下截 | 国产区视频 | 日韩精品国产自在久久现线拍 | 精品视频www | 国产短视频精品区第一页 | 免费观看毛片视频 | 在线视频 国产交换 | sese在线播放| 亚洲欧洲免费视频 | 99热久久国产精品这里有6 | 福利姬在线精品观看 | 欧美精品在线一区二区三区 | 亚洲精品国产精品乱码视色 | 男女一级做片a性视频 | 日本不卡免费一区 | 国产日韩欧美综合一区二区三区 | 青青久久精品国产免费看 | 看片一区 | 欧美a级毛片 | 国产精品免费视频一区一 | 精品国产线拍大陆久久尤物 | 国产自精品在线 | 亚洲欧美一区二区三区在线播放 | 天天爽夜夜爽免费看 | 四虎永久地址 | 亚洲精品不卡午夜精品 | 亚洲精品乱码久久久久久麻豆 | 桃花福利视频在线观看 | 四虎精品影院4hutv四虎 | 精品久久久久久无码中文字幕 | 青青草国产一区二区三区 | 年级的后妈妈2中文翻译 | 麻豆成人久久精品二区三区小说 | 久久频这里精品香蕉久久 | 特黄特色大片免费播放器999 | 五月桃花网婷婷亚洲综合 | 一级一级毛片 |