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方法批量执行脚本用例

Python Unittest框架用例执行失败自动截图

unittest单元测试框架

python-unittest框架 批量执行用例 可以同时执行多个吗?

Unittest框架