PyCharm会自动检测文件何时以test_
开头,并尝试将其作为单元测试运行。这是非常体贴的,但似乎有些事情被打破了,在我运行的任何测试中,我都得到了
/Users/peter/projects/plato/venv/bin/python2.7 "/Applications/PyCharm CE.app/Contents/helpers/pycharm/utrunner.py" /Users/peter/projects/plato/utils/tools/test_sampling.py::::test_samplers_not_broken true
Testing started at 10:58 AM ...
Traceback (most recent call last):
File "/Applications/PyCharm CE.app/Contents/helpers/pycharm/utrunner.py", line 140, in <module>
all.addTest(testLoader.makeTest(getattr(module, a[2])))
AttributeError: 'TestLoader' object has no attribute 'makeTest'
Process finished with exit code 1
我想要做的就是将它们作为普通的python文件运行,但是PyCharm不会让我这么做。 Eclipse提供了正常运行或作为unittest运行的选项。这很烦人!我怎么能这样做?
虽然看起来无法全局禁用此选项,但您可以阻止单个文件作为测试运行。有关答案,请参阅this Question。
答案 0 :(得分:4)
按here(在编辑器上方的工具面板上指向靠近设置按钮的小灰色arroy) 选择“编辑配置”
在那里你可以选择运行pycharm的测试和时间。可能会设置All in folder
按钮,选择其他选项,例如script
此外,您应该在if __name__ == '__main__'
也许你有代码在运行这个文件时会自动启动测试
答案 1 :(得分:2)
在我的情况下,我将配置设置为&gt;测试:类
更改为脚本后,它可以正常运行而不会出现任何错误。
答案 2 :(得分:-1)
我的临时解决方案是在页面底部添加一个块。
if __name__ == "__main__":
pass
在字段块的左侧,将有一个用于运行脚本而不进行测试的按钮。
此外,您可以跟踪此问题here。
注意:强> 如果文件中的文件或函数以 test _ 开头,则PyCharm会尝试将脚本作为默认单元测试运行
UPD 31/01/2018: 我试图捕捉一个他如何为我工作的例子
此外,您始终可以使用if(Shift+Alt+F10
)