欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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、編寫一個(gè)測試類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

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

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

更多Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python入門與進(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ù)類型時(shí),難免聯(lián)想到j(luò)ava中的基本型數(shù)據(jù)類型與引用型數(shù)據(jù)類型。接下來通過本文給大家介紹python中int與str互轉(zhuǎn),需要的朋友可以參考下
    2018-07-07
  • Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問題

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

    這篇文章主要介紹了Python如何根據(jù)關(guān)鍵字逐行提取文本內(nèi)容問題,具有很好的參考價(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ù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Python可視化模塊altair的使用詳解

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

    Altair被稱為是統(tǒng)計(jì)可視化庫,因?yàn)樗梢酝ㄟ^分類匯總、數(shù)據(jù)變換、數(shù)據(jù)交互、圖形復(fù)合等。本文和大家聊一下Python當(dāng)中的altair可視化模塊,并且通過調(diào)用該模塊來繪制一些常見的圖表,感興趣的可以了解一下
    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ù)接收不完整問題解決方法

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

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

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

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

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

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

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

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

最新評(píng)論