游乐游手机版
首页/编程语言/文章详情

Ubuntu中搭建Python测试环境的完整步骤与详细方法

时间:2026-06-12 06:53
在Ubuntu中搭建Python测试环境,需先更新系统并安装Python3及pip,使用venv创建虚拟环境隔离依赖,安装pytest测试框架,编写以test_开头的测试文件,运行pytest自动发现并执行测试,可选配置pytest ini或集成GitHubActions实现持续集成,还可添加coverage等工具提升测试质量。

在Ubuntu系统上搭建一个干净高效的Python测试环境,其实比想象中更加简单。下面将完整拆解整个流程,每一步都经过实践验证,并提供最省心的解决方案。

Ubuntu系统Python测试环境搭建完整步骤

1. 准备基础环境

首先,更新系统软件包索引至最新状态,确保后续安装的软件包均为最新版本:

Ubuntu中Python测试环境如何搭建

sudo apt update && sudo apt upgrade -y

接着安装Python 3及其包管理工具pip。Ubuntu 20.04及以上版本通常已预装Python 3,可使用python3 --version验证:

sudo apt install python3 python3-pip -y

确认版本信息:

python3 --version# 确认Python 3安装pip3 --version # 确认pip安装

2. 配置虚拟环境(隔离项目依赖)

虚拟环境用于隔离不同项目的依赖包,避免相互干扰。Python 3内置的venv模块即可实现此目的:

# 如果还没装venv模块,先装上sudo apt install python3-venv -y# 创建项目目录并进去mkdir my_python_test && cd my_python_test# 创建虚拟环境(venv是环境名,可以改成你喜欢的)python3 -m venv venv# 激活环境(激活后终端提示符会显示环境名)source venv/bin/activate

激活之后,所有通过pip安装的包都会局限在该虚拟环境内,不会影响系统全局Python,这一点值得留意。

3. 安装测试框架

测试框架方面,pytest是目前最流行且易上手的选择,功能强大且入门快速:

pip install pytest

验证安装是否成功:

pytest --version# 看看pytest版本

如果你习惯使用unittest(Python内置框架),也可以直接import unittest使用,无需额外安装。

4. 编写测试用例

在项目目录中新建tests子目录(非必需,但符合项目惯例),然后新建一个测试文件,例如test_example.py。注意,文件名必须以test_开头,测试函数同样如此,这样pytest才能自动识别:

# tests/test_example.pydef add(a, b):"""示例:两数相加"""return a + bdef test_add():"""测试add函数"""assert add(2, 3) == 5# 检查2+3是否等于5assert add(-1, 1) == 0 # 检查-1+1是否等于0assert add(0, 0) == 0# 检查0+0是否等于0

5. 运行测试

在项目根目录(即包含tests目录的那一层),激活虚拟环境后运行:

pytest

pytest会自动扫描所有符合命名规则的测试文件和函数,输出结果大致如下:

============================= test session starts ==============================collected 1 item tests/test_example.py .[100%]============================== 1 passed in 0.01s ===============================

如果测试通过,会看到.;如果失败,则会显示详细的错误信息,便于快速定位问题。

6. 可选:配置测试选项

在项目根目录创建pytest.ini文件,可自定义pytest的行为,例如指定测试目录、增加输出信息:

# pytest.ini[pytest]addopts = -v# 开启详细输出,能看到每个测试函数的名称testpaths = tests# 指定测试目录为tests(默认也会自动找tests目录及子目录)

配置完成后,运行pytest就会自动应用这些设置,输出更加清晰易读。

7. 可选:集成持续集成(CI)

如需实现代码推送后自动运行测试,可借助GitHub Actions。操作步骤如下:

  1. 在项目根目录创建.github/workflows/python-tests.yml文件;
  2. 填写以下内容(以Python 3.8为例):
# .github/workflows/python-tests.ymlname: Python Teston: [push]# 代码推送到仓库时触发jobs:build:runs-on: ubuntu-latest# 使用Ubuntu环境执行steps:- uses: actions/checkout@v2# 拉取代码- name: Set up Python 3.8uses: actions/setup-python@v2with:python-version: '3.8'# 指定Python版本- name: Install dependenciesrun: |python -m pip install --upgrade pip# 升级pippip install pytest # 安装pytest- name: Run testsrun: pytest# 运行测试

配置完成后,每次向GitHub仓库推送代码,GitHub Actions都会自动创建一个Ubuntu环境,安装依赖并运行测试,省时省力。

至此,一个完整的Python测试环境已在Ubuntu上搭建完成——涵盖虚拟环境隔离、自动化测试及持续集成,足以满足大多数项目的测试需求。

来源:https://www.yisu.com/ask/10348266.html
上一篇Ubuntu下Python日志系统的配置指南 下一篇Ubuntu操作系统中Python数据分析环境的配置方法详解
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
AWS RDS 数据库配置入门与基础操作指南
编程语言 · 2026-07-10

AWS RDS 数据库配置入门与基础操作指南

本文介绍了AWSRDS的基本概念与核心价值,即提供托管式关系数据库服务,简化运维。详细阐述了创建RDS实例的关键配置步骤,包括引擎选择、实例规格、存储与网络设置。最后,指导读者如何通过多种方式安全连接至数据库实例,并开始进行数据操作,为后续应用开发奠定基础。

PHP MVC中AJAX请求无法调用控制器方法的原因与解决方案
编程语言 · 2026-07-10

PHP MVC中AJAX请求无法调用控制器方法的原因与解决方案

PHPMVC中AJAX请求返回整页HTML的常见原因是控制器方法未正确输出响应或未终止执行,导致框架渲染视图。解决方法是在控制器中设置JSON响应头、输出数据后调用exit()明确终止,同时前端使用小写url和dataType: "json "。

Go语言手动构造rsa.PublicKey:正确初始化大整数模数N完整指南
编程语言 · 2026-07-10

Go语言手动构造rsa.PublicKey:正确初始化大整数模数N完整指南

手动构造RSA公钥时,模数N为*big Int类型,不能直接使用超长十进制字面量,需通过SetString或UnmarshalText方法解析字符串。公钥指数E可直接赋值,推荐65537。生产环境应使用rsa GenerateKey生成密钥对,避免手动构造引发的安全和格式错误。

Go语言实现HTTP定时轮询监控多URL响应时间与状态检测
编程语言 · 2026-07-10

Go语言实现HTTP定时轮询监控多URL响应时间与状态检测

使用Go语言实现HTTP定时轮询监控,通过按行分割与Tab解析URL列表,避免闭包陷阱和nil指针,每个URL启动独立ticker安全并发请求,并配置超时控制与资源关闭,确保响应时间与状态码准确检测。

Tkinter中Label标签在主循环动态更新的正确方法
编程语言 · 2026-07-10

Tkinter中Label标签在主循环动态更新的正确方法

在Tkinter中正确动态更新标签的方法:将标签组件的textvariable参数绑定到一个StringVar变量,然后通过调用该变量的 set()方法更新其值,界面会自动刷新。这样避免直接修改text属性或调用update()。此做法实现数据与界面的解耦,代码更简洁,响应更及时,避免手动同步的闪烁,推荐做法。