我不知道我做了什么,或者我搞砸了什么设置,但我几个月来一直在使用Pycharm,突然间我进入了一些我无法摆脱的功能。
我仍然是python的新手,所以我设置了一个Python对象的简单测试。我想看看对象是否会在被调用的函数内更新...但这不是重点。不知何故,通过命名约定或其他东西,当我按下调试或运行时,我设法说服Pycharm切换到“nosetests”而不是运行代码。控制台没有任何输出......并且谷歌不可能出现这种情况......
无论如何,我在Pycharm Python项目中做了以下内容:
我创建了一个名为scratch的目录(其中有一个__init__.py
文件),然后是一个名为scratch.py
的python文件。
在scratch.py
内,我写了以下代码:
def add_item_function(x):
x.list.append("hello,world")
class scratch(object):
def __init__(self):
self.list = []
def add_item(self):
add_item_function(self)
x = scratch()
add_item_function(x)
print(x.list)
y=1 #<-- here is where I put the breakpoint
无论我做什么,IDE只运行“nosetests”...我尝试将断点放入......并且代码实际上会在调试时点击断点...但是输出到控制台的唯一输出属于“鼻子测试”而不是我的代码。
此外,我什么都没改变。我一直这样做 - 制作类,然后在它们下面运行函数和代码......这种情况从未发生过。
我发现调试的配置......和Nosetests默认为项目中的“脚本”......但是我无法禁用它 - 它是一个单选按钮。我的代码的某些部分显然必须是一个鼻子测试...如何切换/关闭它,让程序以我告诉它的方式运行?
答案 0 :(得分:0)
您可以尝试Edit Configurations
:
https://www.jetbrains.com/help/pycharm/2016.1/creating-and-editing-run-debug-configurations.html
另外一项建议是使用if __name__ == '__main__'
表示它是切入点,以获得更多详情:What does if __name__ == "__main__": do?
答案 1 :(得分:0)
我不知道是否适合您的情况。但是根据我的编码,我只是更改了项目和班级的名称。我删除了代码中的所有“测试”或“测试”。然后我解决了我的问题...我认为pycharm太聪明了,无法误解我们的代码...
答案 2 :(得分:0)
只需单击左上方菜单,然后在出现下拉菜单时选择再次运行。它为我工作。更多详情,请点击https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000413650-Disable-automatic-test-function