作者:dcl9784752 | 来源:互联网 | 2023-05-16 16:09
在PyCharm IDE中,如果我右键单击带有doctest的函数/方法,有时右键单击菜单会给我选项:" 运行'Doctest my_function_name' ",有时右键单击菜单只会给出运行整个文件的选项(不作为doctest).
什么时候它会给出"运行doctest"选项以及何时不会?有没有办法以某种方式强迫它?
1> asherbar..:
运行模块(或其中的测试)PyCharm
是通过运行配置完成的.右键单击模块时,PyCharm
搜索Run Configuration
该模块的现有模块.如果找到配置(这可能是由于先前的运行或手动创建的Configuration
),PyCharm
则仅建议运行该配置.
例如,如果module.py
创建了一个配置来运行它doctests
,那么右键单击时我们会看到这个选项module.py
.但是,如果未找到任何配置,PyCharm
建议在不同的选项中运行模块,具体取决于模块中的代码(定期运行或运行doctests
/ unittests
).选择一个选项后,隐式PyCharm
创建相应的临时选项Run Configuration
.从这里开始,当右键单击模块时,您将只获得为该模块创建的配置.
重要的注意事项: PyCharm最多可以保存6个临时(即Configurations
通过运行模块创建)Run Configurations
- "Python"中的3个,即脚本,以及"Python测试"中的3个.这意味着,如果你运行moduleA.py
,moduleB.py
,moduleC.py
,然后moduleD.py
,临时Configurations
在PyCharm会moduleB.py
,moduleC.py
和moduleD.py
.moduleA.py
除非明确保存,否则将自动删除配置.
此行为可以重现如下:
在PyCharm
,创建一个新的Python模块:"temp"
2.将以下内容添加到模块中:
"""
>>> print 3.14
3.14
"""
if __name__ == '__main__':
pass
右键单击doctest部分,可以选择"在temp中运行'Doctests'"
右键单击主要部分,可以选择"运行'temp'"
选择任何选项,使另一个选项在后续运行中消失.例如,选择运行模块将使后续运行中运行Doctests的选项消失,反之亦然.回到第一阶段,可以通过删除模块的"运行配置"来选择两个选项:
运行 - >编辑配置 - >找到模块的当前配置(通常突出显示) - >单击"减号"按钮(左上角) - >单击"应用" - >单击"确定".现在我们回到第3步.
(转载于PyCharm
5.0和4.5)
总结一下:
如果没有Run Configuration
找到,PyCharm建议以任何可能的方式运行模块(作为脚本,doctests或unittests)
如果Run Configuration
找到a,PyCharm只会暗示Configuration
.
如果PyCharm没有给你你想要的运行选项,找到Run Configuration
阻止它给你那个选项并删除它的那个,或者创建一个新的,以你想要的方式运行文件或方法/函数.
2> dugloon..:
如果您不想删除配置,还可以点击Run |的快捷键 恢复程序(我的F9)弹出一个完整的选择列表