unittest框架执行用例
Posted sumday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unittest框架执行用例相关的知识,希望对你有一定的参考价值。
pycharm中运行脚本的方式总共有三种,分别为:unittest模式,pytest模式,普通模式,今天主要来聊一聊unittest模式执行与普通执行(因为最近在学习unittest框架,所以pytest以后再说),不多说先上脚本
1 import unittest 2 3 4 class MyTest(unittest.TestCase): 5 6 def setUp(self): 7 print("==setUp==") 8 9 def tearDown(self): 10 print("==tearDown") 11 12 def test_01(self): 13 print("--调用test_01--") 14 # 断言是否相同,msg为断言错误的提示信息 15 self.assertEqual("黄金", "黄金", msg="名字错了") 16 17 def test_02(self): 18 print("--调用test_02--") 19 # 断言是否正确 20 self.assertTrue("HUANGJIN".isupper(), msg="不是大写") 21 22 23 if __name__ == "__main__": 24 print("hehe") 25 unittest.main()
这是一个简单的unittest框架的测试用例,pycharm默认的是unittest模式去执行unittest框架的测试用例,上图脚本中有两条用例
1、执行单条用例
我想执行test_01用例,只要鼠标放在test_01用例所对应的区域,然后右击,进行执行即可
输出的结果为:
同理,我想执行test_02用例,只要鼠标放在test_02用例所对应的区域,然后右击,进行执行即可
2、执行所有用例
如果想执行所有的用例该怎么办?只需要将鼠标放置在test_01、test_02区域外任何位置执行即可,
如果脚本中有多个类的话,想要执行所有类中的所有用例,那么鼠标就要放在除了类以外的区域,如图所示:
当然以上的执行都是在IDE中执行,如果在python交互模式下面进行,不加条件进行限制的话,则会执行所有用例,
还有一点很重要,在unittest模式下,IDE中是不会执行main下面的函数以及方法,只会执行testcase,所以在unittest模式下,在IDE中运行,不管main函数下面有什么,都不会执行,但在python交互模式中运行脚本的话,是会执行,所以想在IDE中看测试报告之类的,要切换到普通模式中运行
以上是关于unittest框架执行用例的主要内容,如果未能解决你的问题,请参考以下文章
python+unittest接口自动化执行多条测试用例怎么实现?
利用Python的unittest单元测试框架的discover方法批量执行脚本用例