亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python3.6編寫(xiě)的單元測(cè)試示例

 更新時(shí)間:2019年08月17日 09:05:35   作者:dou_being  
這篇文章主要介紹了python3.6編寫(xiě)的單元測(cè)試,結(jié)合實(shí)例形式分析了Python3.6使用unittest模塊進(jìn)行單元測(cè)試的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下

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

使用python3.6編寫(xiě)一個(gè)單元測(cè)試demo,例如:對(duì)學(xué)生Student類(lèi)編寫(xiě)一個(gè)簡(jiǎn)單的單元測(cè)試。

1、編寫(xiě)Student類(lèi):

#!/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、編寫(xiě)一個(gè)測(cè)試類(lèi)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)行單元測(cè)試
if __name__ == '__main__':
  unittest.main()

3、運(yùn)行結(jié)果如下:

4、行單元測(cè)試另一種方法:在命令行通過(guò)參數(shù)-m unittest直接運(yùn)行單元測(cè)試,例如:python -m unittest student_test

最后對(duì)使用unittest模塊的一些總結(jié):

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

更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python入門(mén)與進(jìn)階經(jīng)典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python中int與str互轉(zhuǎn)方法

    python中int與str互轉(zhuǎn)方法

    最近學(xué)習(xí)python中的數(shù)據(jù)類(lèi)型時(shí),難免聯(lián)想到j(luò)ava中的基本型數(shù)據(jù)類(lèi)型與引用型數(shù)據(jù)類(lèi)型。接下來(lái)通過(guò)本文給大家介紹python中int與str互轉(zhuǎn),需要的朋友可以參考下
    2018-07-07
  • Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問(wèn)題

    Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問(wèn)題

    這篇文章主要介紹了Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 詳解如何使用Pyecharts制作Map3D

    詳解如何使用Pyecharts制作Map3D

    本文基于 Python3 的 Pyecharts 制作 Map3D(三維地圖) 時(shí)需要使用的設(shè)置參數(shù)和常用模板案例,使用 Pyecharts 進(jìn)行數(shù)據(jù)可視化時(shí)可提供直觀、交互豐富、可高度個(gè)性化定制的數(shù)據(jù)可視化圖表。案例中的代碼內(nèi)容基于 Pyecharts 1.x 版本,需要的朋友可以參考下
    2021-06-06
  • 手把手教你將Flask應(yīng)用封裝成Docker服務(wù)的實(shí)現(xiàn)

    手把手教你將Flask應(yīng)用封裝成Docker服務(wù)的實(shí)現(xiàn)

    這篇文章主要介紹了手把手教你將Flask應(yīng)用封裝成Docker服務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python可視化模塊altair的使用詳解

    Python可視化模塊altair的使用詳解

    Altair被稱(chēng)為是統(tǒng)計(jì)可視化庫(kù),因?yàn)樗梢酝ㄟ^(guò)分類(lèi)匯總、數(shù)據(jù)變換、數(shù)據(jù)交互、圖形復(fù)合等。本文和大家聊一下Python當(dāng)中的altair可視化模塊,并且通過(guò)調(diào)用該模塊來(lái)繪制一些常見(jiàn)的圖表,感興趣的可以了解一下
    2022-07-07
  • python實(shí)現(xiàn)電子產(chǎn)品商店

    python實(shí)現(xiàn)電子產(chǎn)品商店

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)電子產(chǎn)品商店,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Python中使用socket發(fā)送HTTP請(qǐng)求數(shù)據(jù)接收不完整問(wèn)題解決方法

    Python中使用socket發(fā)送HTTP請(qǐng)求數(shù)據(jù)接收不完整問(wèn)題解決方法

    這篇文章主要介紹了Python中使用socket發(fā)送HTTP請(qǐng)求數(shù)據(jù)接收不完整問(wèn)題解決方法,本文使用一個(gè)循環(huán)解決了數(shù)據(jù)不完整問(wèn)題,需要的朋友可以參考下
    2015-02-02
  • python利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽(tīng)和字體改變的方法

    python利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽(tīng)和字體改變的方法

    今天小編就為大家分享一篇python利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽(tīng)和字體改變的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • django xadmin action兼容自定義model權(quán)限教程

    django xadmin action兼容自定義model權(quán)限教程

    這篇文章主要介紹了django xadmin action兼容自定義model權(quán)限教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Django中引入bootstrap的詳細(xì)圖文詳解

    Django中引入bootstrap的詳細(xì)圖文詳解

    Django是基于Python的一個(gè)Web開(kāi)發(fā)框架,可以實(shí)現(xiàn)前端和后臺(tái)間的數(shù)據(jù)連接,下面這篇文章主要給大家介紹了關(guān)于Django中引入bootstrap的相關(guān)資料,需要的朋友可以參考下
    2022-10-10

最新評(píng)論