一、添加测试用例
calculator.py
class Math:
def __init__(self,a,b):
self.a = int(a)
self.b = int(b)
def add(self):
return self.a + self.b
def sub(self):
return self.a - self.b
测试
test_Math.py
from caculator import *
import unittest
class Test_add(unittest.TestCase):
def setUp(self):
print("Test is start")
def test_add(self):
j=Math(5,5)
self.assertEqual(j.add(),10)
def test_add1(self):
j=Math(10,20)
self.assertEqual(j.add(),30)
def tearDown(self):
print("test is end!")
class Test_sub(unittest.TestCase):
def setUp(self):
print("Test is start")
def test_sub(self):
i=Math(8,8)
self.assertEqual(i.sub(),0)
def test_sub1(self):
i=Math(5,3)
self.assertEqual(i.sub(),2)
def tearDown(self):
print("test is end!")
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(Test_add("test_add"))
suite.addTest(Test_add("test_add1"))
suite.addTest(Test_sub("test_sub"))
#suite.addTest(Test_sub("test_sub1"))
runner = unittest.TextTestRunner()
runner.run(suite)
二、测试压力执行顺序
自带的顺序:
import unittest class Test2(unittest.TestCase): def setUp(self): print("Test1 start") def test_c(self): print("test_c") def test_b(self): print("test_b") def tearDown(self): print("test end") class Test1(unittest.TestCase): def setUp(self): print("Test2 start") def test_d(self): print("test_d") def test_a(self): print("test_a") def tearDown(self): print("Test2 end!") if __name__=='__main__': if __name__ == '__main__': unittest.main()
//执行顺序规则——测试类或测试方法的数字与字母顺序 0~9,A-Z
自定义顺序:用测试集
三、用例综合框架管理
前面测试用例与执行都是写在一个文件,当用例数量不断增加的时候,用例的执行与管理变得非常麻烦,因此需要对用例根据具体的功能模块来使用单独的模块来管理。就像一所学校要根据不同年级进行分班管理,也是同样道理。
案例:Test_Project 文件目录下包含4个python文件:
- l--StartEnd.py—— SetUp与TearDown管理
- l--calculatory.py——加减法运算方法的实现
- l--test_add.py——加法测试用例
- l--test_sub.py——减法测试用例
- l--runtest.py——用例执行管理