一开始还以为是自己修改什么参数了从而导致程序一直在Unittests或Twisted Trial模式下运行,以至于所有的程序都会报错,如果你也有相同情况,或许这篇文章会对你有所帮助
此处以Twisted Trial模式为例,一般,run的时候,会出现这样的选项:
注意我框起来的地方,左边是平时运行程序时的截图,右边是Twisted Trial模式运行程序时的截图,通过对比可以看出右边在程序名(try_多线程中对每个子线程的控制.py)前缀变成了‘Twisted Trial for’这样三个词,这就代表如果你运行该程序的时候是在Twisted Trial模式下运行的,运行就会报错
是什么原因导致这种情况出现的呢?
是因为程序中存在 test或者test_开头的函数,所以在运行时python就会自动转换为.test模式进行测试
那么我们该如何解决这个问题呢?
通过路径:file→Settings→Tools→Python Integrated Tools中的Default test runner,将当前选项更改为py.test
更改之后,再运行程序,或变成“Run ‘py.test try_多线程中对每个子线程的控制.py’ ”,虽然变成了py.test模式,但是至少运行时不会报错
当然从成因来看,想根本改变这种情况的发生,最好的办法就是程序中不出现test或以test开头的函数