unittest单元测试实例

# 测试学生类
import unittest
class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score
    def get_grade(self):
        if self.score>100 or self.score<0:
            raise ValueError('成绩不合格')
        elif self.score >= 80:
            return 'A'
        elif self.score >= 60:
            return 'B'
        else:
            return 'C'

# 测试类
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_70_to_100(self):
        s1 = Student('Bart', 89)
        s2 = Student('Lisa', 79)
        self.assertEqual(s1.get_grade(), 'A')
        self.assertEqual(s2.get_grade(), 'B')

    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()
    def setUp(self):
        print('开始执行代码')#会在每一个方法开始执行

    def tearDown(self):
        print('结束执行代码')#会在每一个方法结束执行
if __name__ == '__main__':
    unittest.main()

编写单元测试时,我们需要编写一个测试类,从unittest.TestCase继承。
以test开头的方法就是测试方法,不以test开头的方法不被认为是测试方法,测试的时候不会被执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个单元测试实例代码: 假设我们有一个名为 `calculateSum` 的函数,其功能是计算两个整数的和。我们可以使用单元测试的方法来测试该函数,以确保其正确性和稳定性。在这个例子中,我们使用 Python 编写测试用例。 ```python import unittest def calculateSum(a, b): return a + b class TestCalculateSum(unittest.TestCase): def test_calculateSum(self): # 测试功能是否正常 self.assertEqual(calculateSum(2, 3), 5) self.assertEqual(calculateSum(-2, 3), 1) def test_calculateSum_boundary(self): # 测试边界是否正常 self.assertEqual(calculateSum(2147483647, 1), 2147483648) self.assertEqual(calculateSum(-2147483648, -1), -2147483649) def test_calculateSum_error(self): # 测试错误处理是否正常 with self.assertRaises(TypeError): calculateSum(2, '3') if __name__ == '__main__': unittest.main() ``` 在上述代码中,我们先定义了一个 `calculateSum` 函数来计算两个整数的和。然后,我们使用 Python 中的 `unittest` 模块来编写测试用例。在测试用例中,我们使用 `assertEqual` 方法来验证计算结果是否正确,使用 `assertRaises` 方法来验证系统是否能够正确处理无效输入。最后,我们使用 `unittest.main()` 方法来运行测试用例。 通过以上单元测试用例,我们可以测试 `calculateSum` 函数的各项功能是否正常,以及是否满足系统需求。同时,我们可以使用 Python 的 `unittest` 模块来自动化执行测试用例,以提高测试效率和准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值