我想使用 Jenkins 继续测试。工作场景应如下所示: 1. 连接到 svn,调用脚本以签出 repo,构建并运行测试。测试将例如检查某些输出文件中的数字是否与参考文件中的相同。所有脚本都在python中。问题是 - 当文件中的数字不同时,如何强制 Jenkins 将工作指示为“失败”?
提前致谢
我想使用 Jenkins 继续测试。工作场景应如下所示: 1. 连接到 svn,调用脚本以签出 repo,构建并运行测试。测试将例如检查某些输出文件中的数字是否与参考文件中的相同。所有脚本都在python中。问题是 - 当文件中的数字不同时,如何强制 Jenkins 将工作指示为“失败”?
提前致谢
通常你会稍微不同地使用 Jenkins。完全可以做你想做的事,但 Jenkins 和 python 可以为你省去一些工作。
首先,Jenkins 能够从包括 Subversion 在内的各种版本控制系统中检查内容。这是使用 Jenkins 的常用方法。设置作业时,您需要告知版本控制存储库的地址,然后配置在文件签出后执行的步骤。
其次,您应该使用 python 测试框架http://docs.python.org/library/unittest.html来编写您的测试。然后您可以使用例如nosetests 实用程序来运行测试。Nosetests 甚至可以创建 xml 格式的测试报告,Jenkins 可以阅读报告并向您显示哪些测试失败以及失败的原因(如果报告包含该信息。)
但是要回答您的问题:如果您使用非零退出代码退出构建步骤,詹金斯将解释为构建失败,并将用红球标记该构建。
Jenkins 可以将构建标记为稳定(绿色)、不稳定(黄色)和失败(红色)。如果构建步骤以非零退出代码退出,则构建失败。如果构建步骤以零退出,则可以将 Jenkins 配置为查找测试报告文件。如果测试报告未通过测试,则构建将不稳定。如果所有测试都通过了,则构建是稳定的。
通常人们使用失败(红色)表示测试中的致命问题(例如未能安装应测试的软件),然后使用测试报告表示不稳定或稳定的构建。