import unittest
def aaa(a,b):
return a + b
class TestAdd(unittest.TestCase): # 测试类可以随便命名
@unittest.skip('跳过') # 加在想要跳过的用例之前
def testBbb_001(self): # 测试用例必须以test开头
c = aaa(1,2)
# 断言:aaa的实际结果与预期结果相等:
# 方法一:c:实际结果,3:预期结果
self.assertEqual(c, 3)
# 方法二:断言“c==3”为真
self.assertTrue(c==3)
# 判断一个元素是否在另一个元素里面
d = 'hello world'
self.assertIn('hello', d) # 有先后顺序
self.assertTrue('hello' in d)
#self.assertEqual(0 + 1, 1)
def testCcc_001(self):
self.assertEqual((0 * 10), 1) # 失败时,程序中断,不会继续执行
self.assertEqual((5 * 8), 40)
if __name__ == '__main__':
unittest.main()
import unittest
class TestAdd(unittest.TestCase): # 测试类可以随便命名
@unittest.skip('test_01跳过') # 加在想要跳过的用例之前,运行时将跳过此用例
def test_01(self): # 测试用例必须以test开头
d = 'hello world'
self.assertIn('hellghjhjo', d) # 有先后顺序
def test_02(self):
self.assertEqual((0 * 10), 0)
def test_03(self):
self.assertEqual((5 * 8), 41) # 断言失败时,此条用例不再执行,会执行下一条用例
self.assertEqual((0 * 10), 0)
def test_04(self):
# 判断一个元素是否在另一个元素里面
d = 'hello world'
self.assertIn('hello', d) # 有先后顺序
def test_05(self):
d = 'hello world'
self.assertTrue('hello' in d)
if __name__ == '__main__':
unittest.main()
import unittest
def add(a, b):
print('前置条件!!!!!:如登录')
return a+b
class TestAdd(unittest.TestCase): # 继承unittest.TestCase
# setUp:前置条件,每个用例执行之前都执行
def setUp(self):
add(1, 2) # 调用公共的函数
# tearDown:每条用例执行之后执行
def tearDown(self):
print('每条用例执行之后都执行')
# 开始执行测试用例
def test_01(self):
print('执行第一条用例')
def test_02(self):
print('执行第二条用例')
def test_03(self):
print('执行第三条用例')
def test_04(self):
print('执行第四条用例')
if __name__ == '__main__':
unittest.main()
import unittest
import requests
def add(a, b):
print('前置条件!!!!!:如登录')
return a + b
class TestAAA(unittest.TestCase):
# 一次性的前置条件, 运行优先级:1
@classmethod # 调用setUpClass方法需要此修饰符
# 调用setUpClass方法
def setUpClass(cls):
add(1, 2) # 调用add方法,且只运行一次,如登录,只需登录一次
cls.s = requests.session()
# 更新登录的cookies···
# 每个用例执行之前都执行的前置条件, 运行优先级:2
def setUp(self):
print('每个用例执行之前都执行')
此处self.s = (上面的cls.s):p = pay(self.s, money)
add(1, 2) # 调用公共的函数
# 每个用例执行之前都执行的后置条件, 运行优先级:3
def tearDown(self):
print('每个用例执行之后都执行')
# 执行一次性的后置条件, 运行优先级:4
@classmethod # 调用setUpClass方法需要此修饰符
def tearDownClass(cls):
print('执行清理动作')
def test_01(self):
self.s.post()
print('执行第一条用例')
def test_02(self):
self.s.get()
print('执行第二条用例')
if __name__ == '__main__':
unittest.main()