Python单元测试模块Unittest测试代码简单示例
2023-12-31 20:37: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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!