Python模块:nose-单元测试

这里使用一个简单例子介绍nose单元测试框架。详细文档地址:https://nose.readthedocs.org/en/latest/。

这里,假设你已经安装了Python。

安装nose

使用easy_install安装nose:

或使用pip安装nose:

写点代码

为了进行单元测试,我们需要创建一个类,代码如下(a.py):

创建单元测试类

写nose单元测试的方法有多种,我通常为每个类写一个测试类,或为模块写一个测试。

nose会加载运行以Test开头的类名,如TestClassA或TestA。当它找到这样的一个类,它会使用默认的正则表达式testMatch匹配函数,如某个函数叫isOk,测试函数对应 test_isOK()。

关于单元测试:

  1. nose有几个特殊的函数,这些函数会在特定阶段自动运行。下面代码使用注释解释了每个函数的作用。
  2. nose.tools提供了很多实用函数,例如:assert_equal、assert_not_equal、assert_raises。
  3. 为了代码结构的整洁,我在项目目录中创建tests子目录,用来存放测试代码。

testa.py:

运行测试代码

上面我写了项目代码和测试代码,现在可以执行测试了。nose又一个命令行工具叫“nosetests”,

使用方法,在项目目录执行命令并传入测试目录,例如:

输出如下:

Screen Shot 2016-03-20 at 10.03.32

使用coverage

为了输出更详细的测试信息,可以使用coverage模块。

安装coverage:

执行命令:

Screen Shot 2016-03-20 at 10.09.34

默认会测试当前项目的所有模块,如果要测试指定模块,可以使用:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注