跳转到主要内容

一个为测试提供FTP固定件的PyTest插件

项目描述

https://img.shields.io/pypi/v/pytest_localftpserver.svg https://camo.githubusercontent.com/89b9f56d30241e30f546daf9f43653f08e920f16/68747470733a2f2f696d672e736869656c64732e696f2f636f6e64612f766e2f636f6e64612d666f7267652f7079746573742d6c6f63616c6674707365727665722e737667 https://img.shields.io/pypi/pyversions/pytest_localftpserver.svg https://github.com/oz123/pytest-localftpserver/workflows/Tests/badge.svg Documentation Status Coverage

一个为测试提供FTP固定件的PyTest插件

注意!

从版本 1.0.0 开始,已停止支持python 2.7和3.4。如果您需要支持这些版本,应将版本固定到 0.6.0,即在您的“requirements_dev.txt”中添加以下行

# pytest_localftpserver==0.6.0
https://github.com/oz123/pytest-localftpserver/archive/v0.6.0.zip

使用快速入门

此插件提供了ftpserverftpserver_TLS固定件,它们是FTP服务器的线程实例,您可以使用它们上传文件并测试FTP功能。它可以配置以下环境变量

环境变量

用法

FTP_USER

注册用户的用户名。

FTP_PASS

注册用户的密码。

FTP_PORT

普通FTP服务器运行在的端口。

FTP_HOME

注册用户的主目录(主机系统)。

FTP_FIXTURE_SCOPE

固定件的范围/生命周期。

FTP_PORT_TLS

TLS FTP服务器运行的端口。

FTP_HOME_TLS

注册用户的主目录(主机系统),由TLS FTP服务器使用。

FTP_CERTFILE

TLS FTP服务器使用的证书(主机系统)。

请参阅测试目录文档中的示例。

您可以在系统级别设置环境变量,或者使用例如 pytest-envtox 等工具来更改此插件的默认设置。pytest-cov 的示例配置

$ cat pytest.ini
[pytest]
env =
    FTP_USER=benz
    FTP_PASS=erni1
    FTP_HOME = /home/ftp_test
    FTP_PORT=31175
    FTP_FIXTURE_SCOPE=function
    # only affects ftpserver_TLS
    FTP_PORT_TLS = 31176
    FTP_HOME_TLS = /home/ftp_test_TLS
    FTP_CERTFILE = ./tests/test_keycert.pem

Tox 的示例配置

$ cat tox.ini
[tox]
envlist = py{36,37,38,39,310}

[testenv]
setenv =
    FTP_USER=benz
    FTP_PASS=erni1
    FTP_HOME = {envtmpdir}
    FTP_PORT=31175
    FTP_FIXTURE_SCOPE=function
    # only affects ftpserver_TLS
    FTP_PORT_TLS = 31176
    FTP_HOME_TLS = /home/ftp_test_TLS
    FTP_CERTFILE = {toxinidir}/tests/test_keycert.pem
commands =
    pytest tests

致谢

本软件包受到启发于 Sebastian Rahlf 开发的 https://pypi.ac.cn/project/pytest-localserver/,它缺少 FTP 服务器。

本软件包使用 Cookiecutteraudreyr/cookiecutter-pypackage 项目模板创建。

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面