运行 使用不同函数的文档测试
Running doctests using a different function
我写了一个模块,其中包含一些函数及其文档测试,我想 运行 这些测试是对其他人编写的同名函数进行的。
文档提供了以下代码片段,用于检索 mymodule
中 somefunction
的所有测试,然后以通常的方式 运行ning 它们(如 运行ning doctest.testmod()
):
TESTS = doctest.DocTestFinder().find(mymodule.somefunction)
DTR = doctest.DocTestRunner(verbose=True)
for test in TESTS:
print (test.name, '->', DTR.run(test))
但我不知道从这里到哪里才能在 theirmodule.somefunction
上进行这些测试 运行。我尝试将每个测试的 Example
对象中的 filename
字段从 mymodule
更改为 theirmodule
,但无济于事。有谁知道如何做到这一点?
这可能不是最优雅的解决方案,但只需将我的文档字符串复制到脚本中的函数即可:
theirmodule.somefunction.__doc__ = mymodule.somefunction.__doc__
然后我只需要 运行 我在 theirmodule.somefunction
上的问题中的片段。
我写了一个模块,其中包含一些函数及其文档测试,我想 运行 这些测试是对其他人编写的同名函数进行的。
文档提供了以下代码片段,用于检索 mymodule
中 somefunction
的所有测试,然后以通常的方式 运行ning 它们(如 运行ning doctest.testmod()
):
TESTS = doctest.DocTestFinder().find(mymodule.somefunction)
DTR = doctest.DocTestRunner(verbose=True)
for test in TESTS:
print (test.name, '->', DTR.run(test))
但我不知道从这里到哪里才能在 theirmodule.somefunction
上进行这些测试 运行。我尝试将每个测试的 Example
对象中的 filename
字段从 mymodule
更改为 theirmodule
,但无济于事。有谁知道如何做到这一点?
这可能不是最优雅的解决方案,但只需将我的文档字符串复制到脚本中的函数即可:
theirmodule.somefunction.__doc__ = mymodule.somefunction.__doc__
然后我只需要 运行 我在 theirmodule.somefunction
上的问题中的片段。