擅长:python、mysql、java
<p><code>setup.py test</code>运行程序相当有限;它只支持指定特定模块。当您使用<code>--help</code>开关时,将提供命令行开关的文档:</p>
<pre><code>python setup.py test --help
Common commands: (see '--help-commands' for more)
[ ... cut ... ]
Options for 'test' command:
--test-module (-m) Run 'test_suite' in specified module
--test-suite (-s) Test suite to run (e.g. 'some_module.test_suite')
[ ... more cut ... ]
</code></pre>
<p>因此<code>python setup.py test -m your.package.tests.test_module</code>将仅限制从<code>test_module.py</code>文件运行测试。</p>
<p>所有的<code>test</code>命令,实际上,就是确保您的egg已经构建好,从<code>setup()</code>元数据中提取<code>test_suite</code>值,配置一个了解压缩的egg的测试加载程序,然后运行<a href="http://docs.python.org/2/library/unittest.html#unittest.main" rel="noreferrer">^{<cd8>}</a>函数。</p>
<p>如果您只需要运行一个测试,已经构建了您的egg,而不是使用压缩的egg运行这个测试,那么您还可以使用<a href="http://docs.python.org/2/library/unittest.html#command-line-interface" rel="noreferrer">^{<cd9>} command line interface</a>,它可以执行几乎所有其他操作:</p>
<pre><code>python -m unittest yourpackage.tests.TestClass.test_method
</code></pre>
<p>将指示<code>unittest</code>只运行非常特定的测试方法。</p>