pythonunittest模块_python单元测试模块unittest

单元测试方便的检测代码,在修改代码的时候,可以极大程度地保证该模块行为仍然是正确的。unittest是Python的内建模块,也叫PyUnit。使用unittest之前,先了解如下几个概念:

单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。

编写单元测试时,需要引入python自带模块unittest模块

编写单元测试是,需要定义一个测试类,从unittest.TestCase继承

在测试类中,测试方法都是以test开头的,不以test开头的方法不被认为是测试方法,在测试的时候不会被执行

unittest.TestCase类提供了很多内置的条件判断

1、编写Student类:

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 'D'

elif self.score >= 60 and self.score <80:

return 'E'

elif self.score >= 0 and self.score <60:

return 'F'

else:

raise ValueError('not between 0 and 100')

2、编写一个测试类TestStudent,从unittest.TestCase继承:

import unittest

from student import Student

class TestStudent(unittest.TestCase):

def test_80_to_100(self):

s1 = Student(‘zhangsan’,80)

s2 = Student('Lisi',100)

self.assertEqual(s1.get_grade(),'D')

self.assertEqual(s2.get_grade(),'D')

def test_60_to_80(self):

s1 = Student(‘zhangsan’,60)

s2 = Student('Lisi',79)

self.assertEqual(s1.get_grade(),'E')

self.assertEqual(s2.get_grade(),'E')

def test_0_to_60(self):

s1 = Student(‘zhangsan’,0)

s2 = Student('Lisi',59)

self.assertEqual(s1.get_grade(),'F')

self.assertEqual(s2.get_grade(),'F')

def test_invalid(self):

s1 = Student(‘zhangsan’,-1)

s2 = Student('Lisi',101)

with self.assertRaises(ValueError):

s1.get_grade()

with self.assertRaises(ValueError):

s2.get_grade()

#运行单元测试

if __name__ == '__main__':

unittest.main()

运行结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值