4.断言.py
断言:执行结果是否符合预期,符合则说明断言成功,如果符合预期,说明断言失败
unittest框架提供了丰富的断言方法供我们使用。
下表列出了最常用的方法:
# ----------- 第一个示例 ---------------
import requests
import unittest
class MyTestCase(unittest.TestCase):
def runTest(self):
self.assertEqual('a', 'b')
# self.assertNotEqual('a', 'b')
# self.assertTrue(0)
# self.assertFalse(1)
# self.assertIsNone(None)
if __name__ == '__main__':
unittest.main()
# ----------- 第2个示例 ---------------
import requests
import unittest
class MyTestCase(unittest.TestCase):
'''
类名可以自定义
但必须继承 unittest.TestCase
在测试用例执行之前
要做一些事情或者进行一些初始化的操作
在测试用例执行之后,做一些收尾的操作
'''
def setUp(self):
""" 在测试用例执行之前执行的方法 """
self.response = requests.get(url='http://www.neeo.cc:6002/pinter/com/getSku?id=1')
print("在测试用例执行之前触发我执行", self.response.json())
def tearDown(self):
""" 在测试用例执行之后执行的方法 """
print("在测试用例执行之后触发我执行")
del self.response
def runTest(self):
# self.assertEqual('success1', self.response.json()['message'])
# 断言json传的code字段是否为0
print(self.response.json()['code'], type(self.response.json()['code']))
self.assertTrue(int(self.response.json()['code']))
if __name__ == '__main__':
unittest.main()
首先,如果用例执行通过,用.
表示,执行失败用F
表示,并且输入失败的描述信息。
一般的self.assertEqual(a, b, msg)
:
-
a:表示预期值
-
b:实际执行结果
-
如果a!=b,则断言失败
-
(可选参数)如果你想自定义断言信息,使用msg参数,
msg="自定义断言信息"