我已经用Python项目构建了一个Debian软件包,这个软件依赖于一堆Debian软件包。 Python项目还包含单元和集成测试(使用py.test)。
由于我的项目依赖于一些Debian软件包,我需要在测试环境中安装这些软件包,他们应该验证我的模块是否与这些软件包一起正常工作(我想确保我的模块不会在更新时中断这些图书馆)。
我想将这些测试环境的配置和执行放入Makefile中。这些测试应该可以在开发人员工作站和Jenkins支持的Integration Server上运行。
我目前对我的软件包进行完整集成测试的方法是:
不幸的是我找不到任何提示如何实现这些东西 - 特别是如何做3)。我能找到的所有文档都只是构建包,而不是运行测试。
任何人都可以提供一些提示我如何构建这样的测试设置吗?另外,我想知道做我想做的事情是否有意义。其他人如何测试(Python)模块与其他Debian软件包的集成?
答案 0 :(得分:5)
我认为您希望在构建包装时运行测试套件。
1)在你的包的Makefile中添加一个check
目标,它运行你的实际测试套件,包括所有virtualenv / tox魔法; e.g:
.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
脚本应自动为您运行测试(前提是 一个check
目标在你的Makefile中)
2c)如果您有自定义debian/rules
,请在成功构建后运行“检查”目标
答案 1 :(得分:1)
其他人如何测试(Python)模块与其他Debian的集成 包?
一种选择是配置一个全新的系统来运行您的测试,即在虚拟机或廉价的云服务器上。
如果您在pBuilder上死机,可以使用pbuilder execute