Python单元测试介绍及单元测试理解,单元测试的自动生成(对函数进行测试)
目錄
- 一、單元測(cè)試的定義
- 二、實(shí)例理解
- 2.1可通過(guò)的測(cè)試
- 一個(gè)模擬的登錄
- 測(cè)試用例
- 測(cè)試代碼
- 運(yùn)行結(jié)果
- 2.2不可通過(guò)的測(cè)試
- 一個(gè)模擬的登錄
- 測(cè)試用例
- 測(cè)試代碼
- 運(yùn)行結(jié)果
- 三、單元測(cè)試的自動(dòng)生成
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關(guān)注!
歡迎關(guān)注微信公眾號(hào):寶藏女孩的成長(zhǎng)日記
如有轉(zhuǎn)載,請(qǐng)注明出處(如不注明,盜者必究)
一、單元測(cè)試的定義
單元測(cè)試是由開(kāi)發(fā)人員編寫(xiě)的,用來(lái)檢測(cè)特定條件寫(xiě)代碼的正確性
單元測(cè)試中使用assert(斷言)來(lái)判斷結(jié)果是否與預(yù)期值相等
二、實(shí)例理解
2.1可通過(guò)的測(cè)試
一個(gè)模擬的登錄
def Login(uername,password):if uername == "Jay" and password == "admin":return 0else:return 1測(cè)試用例
# 測(cè)試用例 # Login("Jay","admin") 用戶(hù)名和密碼全部正確 # Login("陳奇","admin") 用戶(hù)名錯(cuò)誤,密碼正確 # Login("Jay","123456") 用戶(hù)名正確,密碼錯(cuò)誤 # Login("廖燕均","123") 用戶(hù)名和密碼全部錯(cuò)誤 # Login("","") 用戶(hù)名和密碼全部為空測(cè)試代碼
import unittest from login import *# 測(cè)試用例 # Login("Jay","admin") # Login("陳奇","admin") # Login("Jay","123456") # Login("廖燕均","123") # Login("","")class MyTestone(unittest.TestCase):def test_case1(self):result = Login("Jay", "admin")self.assertEqual(0, result)def test_case2(self):result = Login("陳奇", "admin")self.assertEqual(1, result)def test_case3(self):result = Login("Jay", "123456")self.assertEqual(1, result)def test_case4(self):result = Login("廖燕均", "123")self.assertEqual(1, result)def test_case5(self):result = Login("", "")self.assertEqual(1, result)if __name__ == '__main__':unittest.main()運(yùn)行結(jié)果
1:5次測(cè)試(因?yàn)槲覀冞\(yùn)行了5個(gè)測(cè)試用例)
2:執(zhí)行時(shí)間
3:執(zhí)行結(jié)果(通過(guò))
2.2不可通過(guò)的測(cè)試
一個(gè)模擬的登錄
注意:在代碼邏輯錯(cuò)誤的時(shí)候
def Login(uername,password):if uername == "Jay" or password == "admin":return 0else:return 1測(cè)試用例
# 測(cè)試用例 # Login("Jay","admin") 用戶(hù)名和密碼全部正確 # Login("陳奇","admin") 用戶(hù)名錯(cuò)誤,密碼正確 # Login("Jay","123456") 用戶(hù)名正確,密碼錯(cuò)誤 # Login("廖燕均","123") 用戶(hù)名和密碼全部錯(cuò)誤 # Login("","") 用戶(hù)名和密碼全部為空測(cè)試代碼
import unittest from login import *# 測(cè)試用例 # Login("Jay","admin") # Login("陳奇","admin") # Login("Jay","123456") # Login("廖燕均","123") # Login("","")class MyTestone(unittest.TestCase):def test_case1(self):result = Login("Jay", "admin")self.assertEqual(0, result)def test_case2(self):result = Login("陳奇", "admin")self.assertEqual(1, result)def test_case3(self):result = Login("Jay", "123456")self.assertEqual(1, result)def test_case4(self):result = Login("廖燕均", "123")self.assertEqual(1, result)def test_case5(self):result = Login("", "")self.assertEqual(1, result)if __name__ == '__main__':unittest.main()運(yùn)行結(jié)果
運(yùn)行結(jié)果(兩個(gè)測(cè)試不通過(guò))
原因:
這兩個(gè)由于我們的邏輯為**“or”**,所以有一個(gè)是對(duì)的,就為正確,而測(cè)試結(jié)果與我們的預(yù)期結(jié)果錯(cuò)誤相悖,因此測(cè)試這兩個(gè)的時(shí)候不通過(guò)
三、單元測(cè)試的自動(dòng)生成
很多人都是手動(dòng)創(chuàng)建測(cè)試,但pycharm可自動(dòng)創(chuàng)建,步驟:
選中項(xiàng)目—>新建(new)—>Pytjon file
選中第二個(gè)
隨后就會(huì)自動(dòng)生成
如有不足之處歡迎指出嘿嘿
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關(guān)注!
歡迎關(guān)注微信公眾號(hào):寶藏女孩的成長(zhǎng)日記
如有轉(zhuǎn)載,請(qǐng)注明出處(如不注明,盜者必究)
總結(jié)
以上是生活随笔為你收集整理的Python单元测试介绍及单元测试理解,单元测试的自动生成(对函数进行测试)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JMeter如何切换成中文详细步骤
- 下一篇: Python的os模块常用文件夹的增删改