1:下载
Link:https://pypi.python.org/packages/source/n/nose/nose-1.3.6.tar.gz#md5=0ca546d81ca8309080fc80cb389e7a16
2:安装
python setup.py install
如果是windows环境,nosetests应该是安装到了python的Script目录下,因此假如后面想直接调用必须得先将它添加到系统环境变量PATH当中;linux下我通过Cygwin实验了一把,默认是安装到了目录/usr/bin/下,应该是可以直接找到
LiHui@GodLike ~ $ which nosetests /usr/bin/nosetests
3:运行
$ cat lihui.py
#!/usr/bin/env python
def test_foo1():
a = 0
assert a > 0
这个python脚本里面只有一个函数,而且没有调用,因此假如直接执行这个python脚本不会输出任何信息;但是函数里面assert的内容显然为假
运行nosetests进行测试
$ nosetests lihui.py
F
======================================================================
FAIL: lihui.test_foo1
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/LiHui/lihui.py", line 5, in test_foo1
assert a > 0
AssertionError
----------------------------------------------------------------------
Ran 1 test in 0.001s
FAILED (failures=1)
这里就将函数里assert里的错误输出来了;但是有一点要注意的,函数名必须以test,Test开头
$ cat lihui.py
#!/usr/bin/env python
def test_foo1():
a = 0
assert a > 0
def test_foo2():
b = 1
c = 2
assert b == c
def foo3():
d = 3
assert d < 0
这里能输出错误信息的就会缺少foo3
FF
======================================================================
FAIL: lihui.test_foo1
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/LiHui/lihui.py", line 5, in test_foo1
assert a > 0
AssertionError
======================================================================
FAIL: lihui.test_foo2
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/home/LiHui/lihui.py", line 10, in test_foo2
assert b == c
AssertionError
----------------------------------------------------------------------
Ran 2 tests in 0.001s
FAILED (failures=2)
