1.Unittest断言

import unittest
# Unittest的简单使用

url = 'http://www.1.com'
data = {
"username":"11111",
"password":"22222"

}

class TestCase01a(unittest.TestCase):
def setUp(self):
print('case开始执行')

def tearDown(self):
print('case执行结束')

@classmethod
def setUpClass(cls):
print('case类开始执行')

@classmethod
def tearDownClass(cls):
print('case类执行结束')
# 判断data1是否等于data
def test_01(self):
# res = requests.get(url=url,params=data).json()
data1 = {
"user":"11111",
}
self.assertDictEqual(data1,data)

# 判断data2是否等于data
def test_02(self):
data2 = {
"username":"11111",
"password":"22222"
}
self.assertDictEqual(data2,data)
def test_03(self):
print('case03')

if __name__ == '__main__':
unittest.main()

输出

case类开始执行
case开始执行
case执行结束
Fcase开始执行
case执行结束
.case开始执行
case03
case执行结束
.case类执行结束

======================================================================
FAIL: test_01 (__main__.TestCase01a)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/zhangchen/Downloads/1base/UnittestCase/test_case01a.py", line 31, in test_01
self.assertDictEqual(data1,data)
AssertionError: {'user': '11111'} != {'username': '11111', 'password': '22222'}
- {'user': '11111'}
+ {'password': '22222', 'username': '11111'}

----------------------------------------------------------------------
Ran 3 tests in 0.001s

FAILED (failures=1)


2.Unittest单个执行顺序

1import unittest

# Unittest执行顺序管理
url = 'http://www.i1o,'
data = {
"username":"11111",
"password":"22222"
}

host = "http://www.im1class TestCase01b(unittest.TestCase):
def setUp(self):
print('case开始执行')

def tearDown(self):
print('case执行结束')

@classmethod
def setUpClass(cls):
print("执行成功")

@classmethod
def tearDownClass(cls):
pass

def test_07(self):
print("执行case07")

def test_01(self):
print("执行case01")
# res = requests.get(url=url,params=data).json()
data1 = {
"user":"11111",
}
self.assertDictEqual(data1,data)

def test_02(self):
print("执行case02")
data1 = {
"username":"11111",
"password":"22222"
}
self.assertDictEqual(data1,data,msg="这两个字典不相等")

def test_03(self):
print("执行case03")
flag = True
self.assertFalse(flag,msg="不等于True")

def test_04(self):
print("执行case04")
flag = False
self.assertTrue(flag,msg="不等于False")

def test_05(self):
print("执行case05")
flag = "111"
flag1 = "222"
self.assertEqual(flag,flag1,msg="两个字符串不相等")


def test_06(self):
print("执行case06")
flag = "adfadadfads"
s = "fadl"
self.assertIn(s,flag,msg = "不包含")

if __name__ == '__main__':
# unittest.main()

'''
单个执行顺序
'''
suite = unittest.TestSuite()
# 添加测试用例
suite.addTest(TestCase01b('test_05'))
suite.addTest(TestCase01b('test_02'))
# 执行测试用例
runner = unittest.TextTestRunner()
runner.run(suite)

输出

执行成功
case开始执行
执行case05
case执行结束
Fcase开始执行
执行case02
case执行结束
.
======================================================================
FAIL: test_05 (__main__.TestCase01b)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/zhangchen/Downloads/imoocbase/UnittestCase/test_case01b.py", line 61, in test_05
self.assertEqual(flag,flag1,msg="两个字符串不相等")
AssertionError: '111' != '222'
- 111
+ 222
: 两个字符串不相等

----------------------------------------------------------------------
Ran 2 tests in 0.000s

FAILED (failures=1)

控制台结果分析

Unittest的使用_字符串


3.批量执行顺序

Unittest的使用_ooc_02


4.Unittest中套件的运用

执行多个测试模块

Unittest的使用_ooc_03