添加测试代码¶
funniest 需要一些测试工作. 这些代码都应该放在 funniest.
子模块的目录下.
这样的结构,这些测试代码既可以导入, 又不会污染全局的命名空间.:
funniest/
funniest/
__init__.py
tests/
__init__.py
test_joke.py
setup.py
...
test_joke.py
是我们第一个测试文件.
虽然现在有一些小题大做, 但是这是为了演示代码是如何组织的, 所以我们创建了 unittest.TestCase
的一个子类:
from unittest import TestCase
import funniest
class TestJoke(TestCase):
def test_is_string(self):
s = funniest.joke()
self.assertTrue(isinstance(s, basestring))
运行这些测试用例最好的方式是使用 Nose (特别是你不知道用什么的时候)
$ pip install nose $ nosetests
为了把测试工作集成到 setup.py
中, 我们需要添加一些参数, 这些参数会确保运行测试用例的时候Nose会被安装.:
setup(
...
test_suite='nose.collector',
tests_require=['nose'],
)
然后, 我们就可以这样运行测试:
$ python setup.py test
setuptools 将会安装nose和运行测试用例.