【发布时间】:2021-05-05 15:18:53
【问题描述】:
在模块的测试套件中,一些test_foo.py 文件的帮助函数在其文档字符串中包含文档测试模式。这会导致 PyCharm 在该文件中选择一个函数并尝试通过上下文菜单调试该函数时提供Debug 'Doctests in test_foo'。不管该函数是在任何实际的 test_...() 函数之前还是在文件末尾,只要存在带有 doctests 模式的单个文档字符串就会导致 PyCharm 表现出这种行为。
例如,如果我只是将所有 >>> ... 更改为 />>> ...(以削弱 doctests 搜索),那么测试文件的行为与预期的一样:函数上的上下文菜单提供 Debug 'pytest for test_foo.test_function'。
如果两者都可行,有没有办法告诉 PyCharm 优先考虑 pytest 而不是 doctests?
【问题讨论】:
-
我认为没有。在这种情况下,我遇到了类似的问题,只是手动添加了 pytest 的配置。
-
是的,我也这样做了,但是为我要调试的每个函数手动添加配置感到很沮丧。去除 doctests 似乎工作正常。也可以通过脚本完成:
perl -pi -e 's/(?<!#)>>>/#>>>/' tests/**/*.py削弱 doctest,反之则恢复它们。叹息。 -
这可能是您目前最好的选择。我当时搜索了其他东西,包括检查 PyCharm 的源代码 IIRC,但没有找到任何东西。不过,您可以向 JetBrains 提出问题...
标签: python pycharm pytest doctest