<p>我试图设置Python来执行nose,但是<strong>只在本地开发的现有应用程序上运行。我不想在当前安装的所有库中到处乱查。但是,我希望nose发现当前工作目录和子目录中的任何测试。在</p>
<p>首先,我要做的就是确保我传递的参数被使用(下面由@need batchelder解决)。然而,目前看来,我传递的参数似乎被忽略了,测试的全局发现正在发生(也就是说,从python文件夹中获取测试)。在</p>
<p>来自<a href="https://nose.readthedocs.org/en/latest/usage.html#options" rel="nofollow">the docs</a>:</p>
<pre><code> -V, --version
Output nose version and exit
</code></pre>
<p>从命令行运行nosetests-V将生成预期的版本输出:</p>
^{pr2}$
<p>但是,下面的测试脚本开始运行它能找到的每个测试,<strong>包括安装在python路径中的库的测试,而不是当前工作目录的一部分,即使它位于应用程序的根目录中</strong>:</p>
<pre class="lang-python prettyprint-override"><code>import nose, os
def main():
print os.getcwd()
x=raw_input() #This is just so I can see the output of the cwd before it launches into testing everything it can find.
result = nose.run(argv=['-V'])
if __name__ == '__main__':
main()
</code></pre>
<p>以下是我尝试过的:</p>
<ul>
<li>使用鼻.主(),x=机头。机芯。运行(),x=鼻子。跑(). 在</li>
<li>将参数直接传递给鼻子。跑()并使用列表。在</li>
<li>使用鼻.cfg文件。在</li>
</ul>
<p>谢谢</p>
<p><strong>编辑:</strong>尝试@ned batchelder的建议允许我用给定的参数运行nose,但不允许在应用程序文件夹中发现测试。所以如果我这样做,我可以传递参数,但我不能测试我的应用程序。在</p>