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

时间:2013-12-10 08:32:08

标签: python integration-testing setup.py

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

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

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

2 个答案:

答案 0 :(得分:3)

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

例如:circuits' fabfile

这应该适用于任何Python项目并使用:

  • 斯芬克斯
  • py.test /毒性
  • 的virtualenv

一些基本工作流程:

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

答案 1 :(得分:2)

如果你真的想要隔离而不是在virtualenv中做python setup.py install。然后使用virtualbox并在其中安装一些免费的Linux操作系统。在安装后拍摄机器的快照,以便您可以随时轻松恢复到起点,并在那里尝试python setup.py install