2

我想Doctest从 Python 中运行 Nose 内置插件,特别是没有命令行选项或环境变量。

人们期望以下工作:

import nose, os
from nose.plugins.builtin import Doctest
# or from nose.plugins.doctests import Doctest

plugins = [Doctest(),]

nose.main(addplugins=plugins)
# or nose.main(plugins=plugins)

但是,上面似乎没有按预期加载 Doctest 插件。

想法和意见将不胜感激。

4

2 回答 2

2

这是我所做的:

import nose

argv = sys.argv[:]
argv.insert(1, "--with-doctest")

nose.main(argv=argv)

它不像我想要的那样干净,但它有效。

于 2013-02-03T17:41:15.107 回答
1

基于 Brian 的解决方案,为了从交互式会话中启动所有内容,还可以执行以下操作:

import nose
nose.run(argv=['', '--with-doctest'])  # first empty item is ignored by nose.run

但是您的解决方案更适合直接从命令行启动的脚本,可能带有其他选项。

于 2013-03-22T08:44:59.023 回答