擅长:python、mysql、java
<p>在我的方法中(根据<a href="http://www.scotttorborg.com/python-packaging/index.html" rel="nofollow">http://www.scotttorborg.com/python-packaging/index.html</a>),测试不是在顶层的。不需要初始化文件。(假设你的模块名应该是corpusBuilder)。你需要的是设置.py(同样是:<a href="http://www.scotttorborg.com/python-packaging/minimal.html" rel="nofollow">http://www.scotttorborg.com/python-packaging/minimal.html</a>和<a href="https://docs.python.org/2/distutils/setupscript.html" rel="nofollow">https://docs.python.org/2/distutils/setupscript.html</a>)如果您想运行测试:</p>
<pre><code>$ python setup.py test
</code></pre>
<p>所以你的结构应该是:</p>
^{pr2}$
<p>在corpusBuilder的init中,您可以定义子模块的导入。这对于不污染命名空间非常有用。例如:</p>
<pre><code>from .submodule import foo
</code></pre>
<p>否则,这只是一个空白文件。在</p>
<p>中的init文件</p>
<pre><code>tests/
</code></pre>
<p>不需要任何东西,在你的测试语料库中,你需要导入你的模块。例如:</p>
<pre><code>from unittest import TestCase
import corpusBuilder
class TestOne(TestCase):
def test_ist_string(self):
s = minimal.test()
self.assertTrue(isinstance(s, basestring))
</code></pre>
<p>现在应该可以运行测试了。在</p>