Python在Jenkins上的持续集成--nose单元测试,代码覆盖率以及pylint代码质量审查

一说起持续集成,大家的固有印象就是Java。诚然,Java占了持续集成的半壁江山。可是,这是否意味着Python、Ruby、Node这样的脚本语言就跟持续集成扯不上关系呢?答案显然是否定的!其实不论什么语言,单元测试,代码覆盖率,以及静态代码检查这些软件工程的实践都是通用的。本文,我们将从一个实际的Pyghon项目,系统地学习一下在Python项目中该如何开展持续集成,包括使用nose框架做单元测试和覆盖率,以及使用pylint工具来检查代码质量。

文章分为上下两篇两部分,上篇讲述了如何在本地环境对一个Python项目做单元测试、覆盖率测试以及代码质量审查;下篇我们将把注意力从本地转移到Jenkins上来,系统地讲述一下如何将这些步骤跟Jenkins持续集成结合起来。

上篇——本地小试牛刀

创建目录结构

现在,我们从零开始,先在本地创建一个本文将要使用的Python项目。这里,我们的工作目录是~/dev/project1,在该工作目录下,我们创建了project1文件夹用来放置我们的Python源代码;接着,我们又创建了tests文件夹用来放置单元测试的测试用例文件。最后,我们还分别为这两个文件夹添加init.py文件,这样,这两个文件夹就能被Python识别为package包了。

mkdir -p ~/dev/project1
cd project1 ...
more ...