在PyCharm中禁用自动单元测试

在PyCharm中禁用自动单元测试,pycharm,Pycharm,PyCharm会自动检测文件何时以test\uu开头,并尝试将其作为单元测试运行。这是非常体贴的,但似乎有些东西坏了,在我运行的任何测试中,我都会 /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::::t

PyCharm会自动检测文件何时以
test\uu
开头,并尝试将其作为单元测试运行。这是非常体贴的,但似乎有些东西坏了,在我运行的任何测试中,我都会

/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
/Users/peter/projects/plato/venv/bin/python2.7”/Applications/PyCharm CE.app/Contents/helpers/PyCharm/utrunner.py”/Users/peter/projects/plato/utils/tools/test\u sampling.py:::test\u samplers\u not\u break true
测试于上午10:58开始。。。
回溯(最近一次呼叫最后一次):
文件“/Applications/PyCharm-CE.app/Contents/helpers/PyCharm/utrunner.py”,第140行,在
all.addTest(testLoader.makeTest(getattr(模块,a[2]))
AttributeError:“TestLoader”对象没有属性“makeTest”
进程已完成,退出代码为1
我只想把它们作为普通的python文件运行,但PyCharm不让我这么做。Eclipse提供了正常运行或作为unittest运行的选项。这真烦人!我该怎么做

解决方案 虽然看起来您无法全局禁用此选项,但可以防止单个文件作为测试运行。请参阅以获取答案。

按(编辑器上方“工具”面板上“设置”按钮附近的小灰色箭头向下) 选择“编辑配置”

在那里,您可以选择pycharm应该运行什么测试以及何时运行。可能有设置
All-in-folder
按钮,选择另一个选项,如
script

您还应该检查文件的底部,在
if\uuuuuu name\uuuuu=='\uuuuu main\uuuu'


也许你有代码,当你运行这个文件时,它会自动启动测试。在我的例子中,我的配置设置为>测试:类

一旦更改为脚本,它就不会出现任何错误


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

如果名称=“\uuuuu main\uuuuuuuu”:
通过

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

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

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

UPD 2018年1月31日: 我试图抓住一个他如何为我工作的例子

此外,您还可以随时查看不带if(
Shift+Alt+F10
)的块的选项


嗯。现在复制问题有困难,但看起来你是对的。它不再是一个小的灰色箭头,而是右上角的一个小标签,上面写着“UnitTest blahblahblach.py”,进入“编辑配置…”,选择有问题的UnitTest,单击左上角的“-”。然后“应用”。@Peter,你能接受它作为正确的答案吗?虽然“编辑配置”是一个有用的线索,但答案并没有真正起作用。在
Edit Configurations>Defaults>Python tests>Unittests
中,它已经被设置为“script”,并且它仍然以
test\uuu
作为Unittests运行文件。问题是如何全局禁用自动测试。尽管如此,每当我创建并运行一个名为test_uu的新文件时,它都会自动假定它应该与UnitTest一起运行,并且总是导致相同的错误,直到我转到编辑配置并删除它。难道没有办法永久禁用这个恼人的单元测试吗?问题仍然没有解决。临时修复方法是单击PyCharm右上角的下拉列表,进入“编辑配置”,从“Python Unittest”(“-”符号)中删除您试图运行的文件,然后右键单击该文件并单击“运行”(注意-不要使用键盘快捷键,否则它将再次作为Unittest运行)。从那时起,PyCharm将记住,该特定文件不应作为单元测试运行,但您仍必须为将来创建的任何
test\uuuux.
文件重复该操作。请不要在静默中降低帖子的评级。写下你不同意的内容。谢谢您的文件未命名为test.*.py。当我在test_u开始的文件上尝试您的方法时,它只是运行unittests@Peter,我补充了我的答案。我希望这有帮助:)嗯,你有什么版本的pycharm?我没有运行“test_XXX”旁边的小箭头。它只是一个按钮,启动装置tests@Peter,2017.1版;建造#PY-171.3780.115,建造于2017年3月24日;JRE:1.8.0_131-b11 x86;JVM:Oracle公司的Java HotSpot(TM)服务器虚拟机;视窗8.16.3 ;;截图2.7.13上的Python-也许你会给我你的测试文件(最好是有结构的)?