unittest-python

一、创建

打开pycharm添加py文件,选择unittest

 

 

 例如创建auto-test.py

 

 

 

二、使用

unittest的组件主要包含4个

1、TestCase

class 类名(unittest.TestCase):
创建类名,并继承unittest.TestCase,类名后面括号里表示继承,可以在这个类里面创建测试用例

2、Test Fixture

  主要是测试用例执行的环境搭建、销毁,主要包含:setUpClass、tearDownClass、setUp、tearDown;

  使用方法:

  @classmethod

  def setUpClass(cls):

  

  @classmethod
  def tearDownClass(cls):

  A:必须使用@classmethod来修饰
  B:cls不可缺
  C:整个测试类结束后运行一次  

  def setUp(self):

  A:self不可缺
  B:每个测试用例运行前运行一次
 
  def tearDown(self):

     A:self不可缺
     B:每个测试用例结束后运行一次

3、Test Suite

suite = unittest.TestSuite()
suite.addTest(MyTestCase)
可以添加进TestSiute进行运行
一般情况下,添加到test suite测试集的测试用例,它执行顺序是按ASCII来执行,就是按函数名test后面ABCDEFG....和123456来执行
我们也可以设置它的执行顺序:
test = [类名(函数名)]
如:
 注意:有的时候设置好了执行顺序后。还是不生效,这可能是pycharm的执行配置问题,在导航栏打开:View--->Toolbar
然后选择:

 

 这样太过于麻烦,建议还是按照ASCII来执行

 
 

4、Test Runner

runner = unittest.TestRunner
runner.run(suite)
可以通过实例化TestRunner来运行测试集

例子:

 运行结果:

 拓展:

有时候TestSuite不太方便一个个添加测试集,可以使用TestLoader添加测试机路径、名称
unittest.defaultTestLoader.discover(路径, 测试文件名称)
如:suite = unittest.defaultTestLoader.discover(case_path, "*case.py")
  runner.run(suite)

 断言:运行结果需要判断结果是否入预期设定:

  常用断言有:

  

  例子:

  

三、生成测试报告

需要导入HTMLTestRunner

使用方法如图:

 

运行生成测试报告如图:

 

原文地址:https://www.cnblogs.com/fengliting/p/13161795.html