如何测试我的包的setup.py?

sca*_*nny 5 python integration-testing setup.py

我有一个非常大的Python包,我写了大约3500个语句,有一个强大的单元和验收测试套件.我对代码本身的质量非常有信心,但是我对于软件包用户的安装过程顺利感到不安,因为我不知道如何在适当隔离的环境中可靠地测试安装,缺少像保持备用机器并在每次测试运行时使用全新的OS安装重新映像.

我怀疑以正确的方式使用virtualenv可能会为测试安装提供适当的测试夹具,但是在扩展的网络搜索之后没有发现任何有用的指导.

如何在开发机器上有效地测试setup.py和其他安装位?

Jam*_*lls 5

如果您喜欢工具(我也喜欢),请查看Fabric以及我在所有项目中编写的 Fabric 任务集:

例如:电路的 fabfile

这应该适用于几乎任何 Python 项目并利用:

  • 狮身人面像
  • py.测试/毒性
  • 虚拟环境

一些基本的工作流程:

fab build    # build the package in non-development mode
fab develop  # build the package in development mode
fab docs     # build/regenerate the documentation
fab test     # run tie unit test suite
fab release  # run through a tested release cycle
Run Code Online (Sandbox Code Playgroud)

键入:fab -l获取命令列表以及fab help:<name>任何命令的帮助。

更新:最近我们添加了fab docker使用Docker 的命令

fab docker:build    # Build a Docker image
fab docker:publish  # Publish Docker image to the Docker Hub
fab docker:run      # Run a new Docker container
Run Code Online (Sandbox Code Playgroud)