[英]Run Python integration tests inside pBuilder environment
我已经从一个Python项目中构建了一个Debian软件包,该项目依赖于一堆Debian软件包才能工作。 Python项目还包含单元测试和集成测试(使用py.test )。
由于我的项目依赖于某些Debian软件包,因此我需要在测试环境中安装这些软件包,并且它们应该验证我的模块可以与这些软件包一起正常工作(我想确保我的模块在更新这些库时不会中断) )。
我想将这些测试环境的配置和执行放入Makefile中。 这些测试应该在开发人员工作站和Jenkins支持的Integration Server上都可以运行。
我目前对软件包进行完整集成测试的方法是:
不幸的是我找不到如何实现这些东西的任何提示-尤其是如何做3)。 我能找到的所有文档都只是关于构建软件包,而不是关于运行测试。
谁能给我一些提示,说明如何建立这样的测试设置? 另外,我想知道我要做的目标是否有意义。 其他人如何测试(Python)模块与其他Debian软件包的集成?
我假设您要在构建包装时运行测试套件。
1)将check
目标添加到程序包的Makefile中,该文件将运行您的实际测试包,包括所有virtualenv / tox魔术; 例如:
.PHONY: check
check:
./runtests.sh
使用runtests.sh
脚本运行解释器检查,然后启动py.test
2)配置您的debian/rules
以实际运行测试
2a)如果使用CDBS ,则在debian / rules的开头添加以下行
DEB_MAKE_CHECK_TARGET = check
2b)如果使用debhelper ,则dh_auto_test
脚本应自动为您运行测试(前提是 Makefile中有check
目标)
2c)如果您有自定义的debian/rules
,则在成功构建后运行“ check”目标
其他人如何测试(Python)模块与其他Debian软件包的集成?
一种选择是提供一个全新的系统,以便在虚拟机或廉价云服务器上运行测试。
如果您在pBuilder上陷入僵局,则可以使用pbuilder execute
调用任意脚本
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.