【发布时间】:2011-01-23 05:57:25
【问题描述】:
我有一个 Python 项目,其目录结构如下:
/(一些文件) /模型/(python文件) /tools/(更多 python 文件) ...所以,我在几个子目录中有 Python 文件,其中有一些 目录之间的依赖关系:模型使用工具等。现在 我的问题是我想为 models 和 tools 制作文档测试, 我希望能够像这样从命令行运行测试: ./model/car.py 。 我可以完成这项工作,但只能使用凌乱的样板代码。我想 想知道什么是正确的方法,或者有什么方法吗?
问题:我应该如何编写我的导入?
谢谢。这是一个例子......
tools/tool.py的内容:
#!/usr/bin/env python
"""
>>> is_four(21)
False
>>> is_four(4)
True
"""
def is_four(val):
return val == 4
if __name__ == '__main__':
import doctest
doctest.testmod()
...和model/car.py:
#!/usr/bin/env python
"""
>>> car = Car()
>>> car.ok()
True
"""
from tools.tool import *
class Car(object):
def __init__(self):
self.tire_count = 4
def ok(self):
return is_four(self.tire_count)
if __name__ == '__main__':
import doctest
doctest.testmod()
通过在 car.py 的开头添加以下行,它可以工作,但看起来不太好。 :(
if __name__ == '__main__':
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname('..')))
【问题讨论】: