Python单元测试介绍及单元测试理解,单元测试的自动生成
程序员文章站
2022-04-27 16:42:56
目录一、单元测试的定义二、实例理解2.1可通过的测试一个模拟的登录测试用例测试代码运行结果2.2不可通过的测试一个模拟的登录测试用例测试代码运行结果三、单元测试的自动生成一、单元测试的定义单元测试是由开发人员编写的,用来检测特定条件写代码的正确性单元测试中使用assert(断言)来判断结果是否与预期值相等二、实例理解2.1可通过的测试一个模拟的登录def Login(uername,password): if uername == "Jay" and password == "admi...
一、单元测试的定义
单元测试是由开发人员编写的,用来检测特定条件写代码的正确性
单元测试中使用assert(断言)来判断结果是否与预期值相等
二、实例理解
2.1可通过的测试
一个模拟的登录
def Login(uername,password):
if uername == "Jay" and password == "admin":
return 0
else:
return 1
测试用例
# 测试用例
# Login("Jay","admin") 用户名和密码全部正确
# Login("陈奇","admin") 用户名错误,密码正确
# Login("Jay","123456") 用户名正确,密码错误
# Login("廖燕均","123") 用户名和密码全部错误
# Login("","") 用户名和密码全部为空
测试代码
import unittest
from login import *
# 测试用例
# 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()
运行结果
1:5次测试(因为我们运行了5个测试用例)
2:执行时间
3:执行结果(通过)
2.2不可通过的测试
一个模拟的登录
注意:在代码逻辑错误的时候
def Login(uername,password):
if uername == "Jay" or password == "admin":
return 0
else:
return 1
测试用例
# 测试用例
# Login("Jay","admin") 用户名和密码全部正确
# Login("陈奇","admin") 用户名错误,密码正确
# Login("Jay","123456") 用户名正确,密码错误
# Login("廖燕均","123") 用户名和密码全部错误
# Login("","") 用户名和密码全部为空
测试代码
import unittest
from login import *
# 测试用例
# 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()
运行结果
运行结果(两个测试不通过)
原因:
这两个由于我们的逻辑为**“or”**,所以有一个是对的,就为正确,而测试结果与我们的预期结果错误相悖,因此测试这两个的时候不通过
三、单元测试的自动生成
很多人都是手动创建测试,但pycharm可自动创建,步骤:
选中项目—>新建(new)—>Pytjon file
选中第二个
随后就会自动生成
如有不足之处欢迎指出嘿嘿
本文地址:https://blog.csdn.net/hanhanwanghaha/article/details/107487037
上一篇: NLP学习—分词和词性标注