。。。还有一匹小马!不,说真的。我正在寻找一种方法来组织“工作正常”的测试。大多数事情都是可行的,但并非所有的部分都能组合在一起。我想要的是:
python setup.py test
正常工作。在我当前的方法涉及tests
目录和load_tests protocol。包含的所有文件都命名为test_*.py
。如果我用下面的内容创建一个文件test_doctests.py
,那么{
import doctest
import mymodule1, mymodule2
def load_tests(loader, tests, ignore):
tests.addTests(doctest.DocTestSuite(mymodule1))
tests.addTests(doctest.DocTestSuite(mymodule2))
return tests
这种方法还有一个优点,可以使用setuptools并提供setup(test_suite="unittest2.collector")
。在
然而,这种方法有一些问题。在
--doctest-modules
选项是垃圾。在load_tests
函数,但不提供任何参数。鼻子侧面看起来完全断了。在我怎样才能让事情变得更好呢?或者解决上面的一些问题?在
我用鼻子,当我遇到同样的问题时发现了你的问题。在
我最后要做的并不漂亮,但它确实能运行测试。在
不幸的是,它将模块中的所有doctest作为单个测试运行。但如果出了问题,至少我知道从哪里开始找。失败将导致DocTestFailure,并显示一条有用的消息:
^{pr2}$这是一个老问题,但这个问题对我们中的一些人来说仍然存在!我正在研究它,找到了一个类似于kaapstorm的解决方案,但是输出效果更好。我使用
py.test
来运行它,但我认为它应该在测试运行程序之间兼容:在失败的情况下,我最后得到的是手动运行doctest将得到的打印stdout输出,但还有一个异常,如下所示:
^{pr2}$正如kaapstrom所提到的,它不能正确地计算测试(除非有失败),但是我发现如果覆盖率恢复到很高的水平,这是不值得的:)
相关问题 更多 >
编程相关推荐