我有一个类似结构的项目:
my_project_with_tests/
project/
__init__.py
module.py
test/
test.py
module.py
包含两个doctest
' ed函数:
def foo():
"""
>>> foo()
1
"""
return 1
def test_foo_doctest():
"""
>>> module.foo()
1
"""
pass
def bar():
"""
>>> bar()
"""
return 1
test.py
包含运行测试所需的位:
import sys
import os.path
sys.path = [os.path.abspath("../project")] + sys.path
import module
def test_foo():
assert module.foo() == 1
def test_bar():
assert module.bar() == 1
我目前正在使用nose
和
nosetests \
--all-modules \
--traverse-namespace \
--with-coverage \
--cover-tests \
--with-doctest \
--where test/
但是,它不会从我的doctests
来源目录运行project
(但是doctests
来自测试目录的test_foo_doctest
是正常的,因为nose
通过了。
doctests
的好方法吗?project
目录运行nose
project
答案 0 :(得分:2)
这是一个很好的方式来调用鼻子,但是有一个小问题阻止了你的doctests运行。见#2
假设您从--where test/
运行命令,请将--where .
更改为project/project
。那样鼻子会看到医生。现在它只是在看test /