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 失败”