分享]Python基础学完了?进阶它来了(八)
进阶第三章:
8.1 使用 unittest 或 pytest 进行单元测试
unittest
简介:unittest 是 Python 内置的标准测试框架。它基于面向对象的设计,提供了一系列用于编写和运行单元测试的类和方法。
基本结构:
测试用例需要继承自unittest.TestCase类。例如:
import unittest
class MyTestCase(unittest.TestCase):
def test_addition(self):
result = 2 + 3
self.assertEqual(result, 5)
在这个例子中,test_addition是一个测试方法,self.assertEqual用于断言结果是否符合预期。
可以使用setUp和tearDown方法来进行测试前的初始化和测试后的清理工作。setUp方法在每个测试方法运行之前被调用,tearDown方法在每个测试方法运行之后被调用。
运行测试:可以在命令行中使用python -m unittest命令来运行测试用例。如果要运行特定的测试类或方法,可以指定模块、类或方法的名称,如python -m unittest tests.MyTestCase.test_addition。
pytest
简介:pytest 是一个功能强大且易于使用的第三方测试框架。它具有简洁的语法和丰富的插件生态系统。
基本结构:
测试函数以test_开头即可被识别为测试用例。例如:
def test_subtraction():
result = 5 - 3
assert result == 2
pytest 也支持测试夹具(fixtures),用于提供测试数据或设置测试环境。例如:
> import pytest
>
>
> @pytest.fixture def sample_data():
> return [1, 2, 3]
>
>
> def test_list_length(sample_data):
> assert len(sample_data) == 3
运行测试:在命令行中使用pytest命令即可运行所有的测试用例。它会自动搜索当前目录及其子目录下以test_开头的文件和函数。
8.2 了解持续集成工具与 Python 项目的集成(如 Jenkins)
持续集成(CI)的概念:持续集成是一种软件开发实践,要求开发人员频繁地将代码集成到共享的代码库中。每次集成都会通过自动化的构建和测试过程来验证,以便尽早发现集成问题。
Jenkins 与 Python 项目的集成
Jenkins 简介:Jenkins 是一个开源的持续集成和持续交付工具。它可以帮助开发团队自动化构建、测试和部署软件项目。
集成步骤:
安装和配置 Jenkins:在服务器上安装 Jenkins,并完成基本的配置,如设置管理员账号、插件安装等。
配置 Python 环境:在 Jenkins 中配置 Python 解释器的路径,确保 Jenkins 能够执行 Python 脚本。
创建 Jenkins 任务:创建一个新的自由风格项目或流水线项目。对于自由风格项目,在构建步骤中,可以添加执行 Python 单元测试的命令(如python -m unittest或pytest)。对于流水线项目,可以使用Jenkinsfile来定义构建、测试和部署的流程,例如:
pipeline {
agent any
stages {
stage(‘Build’) {
steps {
sh ‘python setup.py build’
}
}
stage(‘Test’) {
steps {
sh ‘python -m pytest’
}
}
} }
设置触发条件:可以设置定时触发构建,或者当代码库有新的提交时自动触发构建,这样可以保证代码的持续集成和测试。
查看结果和报告:Jenkins 会显示每次构建和测试的结果,包括测试通过的数量、失败的数量等信息。可以安装相关的插件来生成更详细的测试报告,如 JUnit 插件可以处理 Python 单元测试框架生成的测试结果报告格式。
原文地址:https://blog.csdn.net/2401_82857325/article/details/143496760
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!