Python-pytest使用unittest

介绍:

unittest 是 Python 标准库中的测试框架,用于编写和运行单元测试。它提供了一组用于组织测试、断言和报告测试结果的类和方法。


  1. 编写测试类和方法
import unittest

class MathOperationsTest(unittest.TestCase):
    def test_addition(self):
        result = 1 + 1
        self.assertEqual(result, 2)

    def test_subtraction(self):
        result = 3 - 1
        self.assertEqual(result, 2)
  1. 运行测试
  1. 命令行方式:
python -m unittest test_module.py
  1. 测试运行器方式:
if __name__ == '__main__':
    unittest.main()
  1. 断言

使用各种断言方法来验证测试条件:

import unittest

class AssertionTest(unittest.TestCase):
    def test_assert_equal(self):
        self.assertEqual(2 + 2, 4)

    def test_assert_true(self):
        self.assertTrue(2 + 2 == 4)

    def test_assert_false(self):
        self.assertFalse(2 + 2 == 5)
  1. 测试装置

使用 setUp 和 tearDown 进行测试装置:

import unittest

class TestWithSetUpAndTearDown(unittest.TestCase):
    def setUp(self):
        # 设置测试前的准备工作
        self.value = 42

    def test_value(self):
        self.assertEqual(self.value, 42)

    def tearDown(self):
        # 清理测试后的工作
        self.value = None
  1. 测试套件
import unittest

class MathOperationsTest(unittest.TestCase):
    def test_addition(self):
        result = 1 + 1
        self.assertEqual(result, 2)

    def test_subtraction(self):
        result = 3 - 1
        self.assertEqual(result, 2)

class AssertionTest(unittest.TestCase):
    def test_assert_equal(self):
        self.assertEqual(2 + 2, 4)

    def test_assert_true(self):
        self.assertTrue(2 + 2 == 4)

    def test_assert_false(self):
        self.assertFalse(2 + 2 == 5)

if __name__ == '__main__':
    # 创建一个测试套件
    suite = unittest.TestSuite()

    # 将 MathOperationsTest 类中的测试用例添加到测试套件中
    suite.addTest(unittest.makeSuite(MathOperationsTest))

    # 将 AssertionTest 类中的测试用例添加到测试套件中
    suite.addTest(unittest.makeSuite(AssertionTest))

    # 运行测试套件
    unittest.TextTestRunner().run(suite)

相关推荐

  1. Python-pytest使用unittest

    2024-01-17 07:14:02       52 阅读
  2. Python自动化测试:unittestpytest框架

    2024-01-17 07:14:02       46 阅读
  3. 如何选择Python测试框架:pytestunittest

    2024-01-17 07:14:02       29 阅读
  4. Python单元测试框架:unittestpytest的深度对比

    2024-01-17 07:14:02       31 阅读
  5. unittest、nosetest、pytest

    2024-01-17 07:14:02       48 阅读
  6. pytestunittest 如何选择?

    2024-01-17 07:14:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 07:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 07:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 07:14:02       82 阅读
  4. Python语言-面向对象

    2024-01-17 07:14:02       91 阅读

热门阅读

  1. C51--测速小车

    2024-01-17 07:14:02       49 阅读
  2. 正则表达式

    2024-01-17 07:14:02       31 阅读
  3. Vue待办事项(选项卡)

    2024-01-17 07:14:02       54 阅读
  4. 自动驾驶车辆运动规划方法综述 - 论文阅读

    2024-01-17 07:14:02       61 阅读
  5. redis实现延迟任务(四)

    2024-01-17 07:14:02       59 阅读
  6. vue使用el-input监听不了回车事件解决方法

    2024-01-17 07:14:02       54 阅读
  7. vue3和vue2区别

    2024-01-17 07:14:02       44 阅读
  8. 探索 ChatGPT 中文版:开启自然语言处理新纪元

    2024-01-17 07:14:02       62 阅读
  9. leetcode2719. 统计整数数目

    2024-01-17 07:14:02       49 阅读
  10. 编程探秘:Python深渊之旅-----云端部署(六)

    2024-01-17 07:14:02       56 阅读