pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)

Posted 我是冰霜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)相关的知识,希望对你有一定的参考价值。

1.只运行某一条case

把光标移动到某一条case后面,然后右键,选择“Run...”来运行程序

此时,pycharm会只运行光标所在位置的这一条case

2.如果想执行全部case,需要把光标移动到  “if __name__ == "__main__": ”后面,一般情况下会运行全部的case;

但是如果在 “if __name__ == "__main__": ”下面添加了测试套件,同样把光标移动到 “if __name__ == "__main__": ”后面,会发现还是执行了全部的case,也就是  “if __name__ == "__main__": ”下面的程序没有生效;同时这个问题也是造成导致无法生成测试报告的原因(程序都正确,为什么生成不了测试报告呢,因为htmlTestRunner的语句也放在了里面)

经过一翻查找,大部分是说和unittest类有关,pycharm默认执行的unittests类的单元测试,而不是整个文件,右键显示的是“Unittests in xx.py”

一种解决方法是:

进入Edit Configurations,删掉python tests中的信息,然后再右键执行或直接点击右上角运行按钮。

但是我在操作时,这个方法无效,删掉后,还是默认以“Unittests in xx.py”方式运行

另一种解决方法:

注意识别,xx.py 和 Unittests in xx.py,选择文件名,然后运行整个文件,就可以了。

然后再右键,显示“Run xx”了

 

以上是关于pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)的主要内容,如果未能解决你的问题,请参考以下文章

pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行

Python + Appium 已解决driver(session)在多个class之间复用,执行完一个类的用例,再次执行下个类的用例时不需要初始化

运行 Junit 测试用例时“加载 ApplicationContext 失败”

unittest 9 跳过测试用例的执行(决定是否执行某个测试方法 skip)

pytest那些事01_执行结果内容改造

逻辑覆盖