Python单元测试模块Unittest测试代码简单示例

发布时间:2023年12月31日

一、测试项目目录结构:

创建一个项目,目录中有Calculator.py与Demo_test_three.py两个源码文件。Calculator.py是被测试的代码,Demo_test_three.py是执行测试的代码。本示例建了两级目录。一级目录名称:my_unittest;二级目录名称:unittest_demo。执行测试的源码中一开始的导入包语句会看到。

二、被测试的类及类方法源码-Calculator.py:

class Calculator:
    def divide(self, x, y):
        return x/y

三、执行测试的类及类方法源码-Demo_test_three.py

import unittest
from my_unittest.unittest_demo.Calculator import Calculator


class TestCalculator(unittest.TestCase):
    def test_Divide01(self):
        cal = Calculator()
        result = cal.divide(10, 2)
        self.assertEqual(result, 5)

    def test_Divide02(self):
        cal = Calculator()
        result = cal.divide(10, 0.5)
        self.assertEqual(result, 10)

    def test_Divide03(self):
        cal = Calculator()
        result = cal.divide(10, 0)
        self.assertEqual(result, 0)


if __name__ == '__main__':
    unittest.main()

四、执行测试的代码要点:

首先定义了测试类TestCalculator。继承于父类unittest.TestCase模块。该测试类中包含三个测试方法test_Divide01、test_Divide02、test_Divide01,即三个测试用例。第一个测试用例:用10除以2,预期结果为5,测试结果通过;第二个测试用例:用10除以0.5,为了观察运行结果,刻意设置错误的预期结果为10,但实际结果为20,出现断言错误,测试失败。第三个测试用例:实现异常测试。用10除以0,出现零除运行错误,提示不能用0作为分母。最后调用unittest.main()方法执行当前类中的所有test开头的方法直接运行程序。不必再专门对TestCalculator进行实例化。

五、结论:

Calculator类的Divide方法具有明显的Bug,该方法没有对输入参数进行校验。导致在分母为0时运行错误。测试人员发现Bug后应及时通知开发人员修复,避免造成损失。这个简单示例展现了Unittest的使用价值。体现了测试工作在程序开发中的重要意义。

文章来源:https://blog.csdn.net/m0_64880493/article/details/135317821
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。