繁体   English   中英

如何为我的 package 测试 setup.py?

[英]How do I test the setup.py for my package?

我有一个相当大的 Python package 我写了大约 3500 条语句,有一个健壮的单元和验收测试套件。 我对代码本身的质量很有信心,但我对 package 用户的安装过程顺利进行感到不安,因为我不知道如何在适当隔离的环境中可靠地测试安装,缺少类似的东西保留一台备用机器,并在每次测试运行时使用全新的操作系统安装对其进行重新映像。

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

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

如果您喜欢工具( 我愿意 ),请签出Fabric和我在所有项目中编写的Fabric任务集:

例如: 电路的fabfile

这应该适用于几乎所有Python项目并利用:

  • 狮身人面像
  • py.test / tox
  • 虚拟环境

一些基本的工作流程:

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

键入: 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

如果您真的想要隔离,则只需在virtualenv中python setup.py install 然后使用virtualbox并在其中安装一些免费的Linux操作系统。 安装后为计算机拍摄快照,以便您随时可以轻松地一键还原到起点,然后尝试在此处python setup.py install

我认为基本的tox配置会自动完成这项工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM