在PyCharm中禁用自动单元测试

时间:2015-02-12 10:03:42

标签: pycharm

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

3 个答案:

答案 0 :(得分:4)

here(在编辑器上方的工具面板上指向靠近设置按钮的小灰色arroy) 选择“编辑配置”

在那里你可以选择运行pycharm的测试和时间。可能会设置All in folder按钮,选择其他选项,例如script

此外,您应该在if __name__ == '__main__'

之后检查文件的底部

也许你有代码在运行这个文件时会自动启动测试

答案 1 :(得分:2)

在我的情况下,我将配置设置为&gt;测试:类

更改为脚本后,它可以正常运行而不会出现任何错误。

Screenshot

答案 2 :(得分:-1)

我的临时解决方案是在页面底部添加一个块。

if __name__ == "__main__": pass

在字段块的左侧,将有一个用于运行脚本而不进行测试的按钮。

enter image description here enter image description here

此外,您可以跟踪此问题here

注意: 如果文件中的文件函数 test _ 开头,则PyCharm会尝试将脚本作为默认单元测试运行

UPD 31/01/2018: 我试图捕捉一个他如何为我工作的例子

enter image description here

此外,您始终可以使用if(Shift+Alt+F10

查看没有块的选项

enter image description here