在Ubuntu上进行Python自动化测试,你可以遵循以下步骤:
安装Python和pip
确保你的系统上已经安装了Python和pip。你可以通过以下命令检查是否已安装:
python3 --version
pip3 --version
如果未安装,可以使用以下命令安装:
sudo apt update
sudo apt install python3 python3-pip
安装测试框架
Python有许多测试框架,常用的有unittest、pytest和nose。这里我们以pytest为例。使用以下命令安装pytest:
pip3 install pytest
编写测试用例
创建一个Python文件,例如 test_my_module.py,并编写针对你的代码的测试用例。以下是一个简单的示例:
# test_my_module.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add(0, 0) == 0
运行测试
在终端中,导航到包含测试文件的目录,然后运行以下命令:
pytest test_my_module.py
pytest会自动发现并运行所有以 test_ 开头的文件和函数。
使用pytest进行更高级的测试
pytest提供了丰富的功能,如参数化测试、fixtures、mocking等。以下是一个使用pytest进行接口自动化测试的示例:
安装requests库
pip3 install requests
编写API测试框架
import pytest
import requests
from typing import Dict, Any
class APITestFramework:
def __init__(self, base_url: str):
self.base_url = base_url
self.session = requests.Session()
def api_request(self, method: str, endpoint: str, **kwargs) -> Dict[str, Any]:
url = f"{self.base_url.rstrip('/')}/{endpoint.lstrip('/')}"
try:
response = self.session.request(method, url, **kwargs)
response.raise_for_status()
return {
'status_code': response.status_code,
'data': response.json() if response.content else {},
'headers': dict(response.headers)
}
except requests.exceptions.RequestException as e:
pytest.fail(f"API请求失败: {e}")
@pytest.fixture(scope="session")
def api_client():
return APITestFramework("http://localhost:8000")
@pytest.fixture
def test_user():
return {
"username": f"test_user_{int(time.time())}",
"email": "test@example.com",
"password": "SecurePass123!"
}
def test_user_login(api_client, test_user):
data = {"username": test_user["username"], "password": test_user["password"]}
response = api_client.api_request("POST", "api/login", json=data)
assert response['status_code'] == 200
运行测试
在终端中运行以下命令:
pytest test_example.py
集成到CI/CD流程(可选)
你可以使用GitHub Actions、GitLab CI或其他CI工具来自动化测试流程。以下是一个简单的GitHub Actions配置示例:
# .github/workflows/python-app.yml
name: Python application
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
- name: Run tests
run: pytest
通过以上步骤,你可以在Ubuntu上配置一个基本的Python测试环境,并开始编写和运行测试。
以上就是关于“Python自动化测试在Ubuntu上如何进行”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm