unittest--前置和后置

网友投稿 470 2022-08-25


unittest--前置和后置

前戏

先解决一个问题:pycharm执行某些程序时会默认在unittest框架下执行,从而导致程序报错,怎样解决这个问题呢?File->setting->Tools->Python Intergrated Tools->Default test runner->py.test选择后如果显示未安装,请先安装py.test

import unittestclass Test_case(unittest.TestCase): def test01(self): print('第一个测试用例') def test02(self): print('第二个测试用例')if __name__ == '__main__': unittest.main()

结果:

..第一个测试用例第二个测试用例

类要继承unittest.TestCase,下面的函数名要以test开头才会执行,.(点)表示成功了多少条用例,F表示失败的用例,E表示程序本身有问题

import unittestclass Test_case(unittest.TestCase): def setUp(self): print('我是前置条件') def tearDown(self): print('我是后置条件') def test01(self): print('第一个测试用例') def test02(self): print('第二个测试用例')if __name__ == '__main__': unittest.main()

结果:

..我是前置条件第一个测试用例我是后置条件我是前置条件第二个测试用例我是后置条件

setup在每条用例执行前执行,teatdown在每条用例执行完之后执行

import unittestclass Test_case(unittest.TestCase): @classmethod def setUpClass(cls): print('我是所有用例的前置') @classmethod def tearDownClass(cls): print('我是所有用例的后置') def setUp(self): print('我是前置条件') def tearDown(self): print('我是后置条件') def test01(self): print('第一个测试用例') def test02(self): print('第二个测试用例')if __name__ == '__main__': unittest.main()

结果:

我是所有用例的前置我是前置条件第一个测试用例我是后置条件我是前置条件第二个测试用例我是后置条件我是所有用例的后置

setUpClass(cls)所有用例执行之前执行,要加@classmethodtearDownClass(cls)所有用例执行之后执行

import unittestclass Test_case(unittest.TestCase): def setUp(self): print('我是前置条件') def tearDown(self): print('我是后置条件') def test01(self): '''第一个测试''' print('test01') def test02(self): '''第二个测试''' print('test02')if __name__ == '__main__': unittest.main(verbosity=2) # 可以加参数

结果:

我是前置条件test01 (__main__.Test_case)test01我是后置条件第一个测试 ... ok我是前置条件test02 (__main__.Test_case)test02第二个测试 ... ok我是后置条件

verbosity有三个值

0代表得到执行的测试总数和全局结果

1代表得到成功的显示.失败的显示F,错误的显示E

2可以得到详细的信息,可以打印出注释信息,在注释后面显示成功失败的信息


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:unittest--套件的使用(unittest组件)
下一篇:alibaba seata服务端具体实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~