用例执行顺序
观察如下测试脚本,思考测试用例执行顺序。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27import unittest
class Test_1(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 Test_2(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!")
通过运行脚本,可以发现执行顺序规则——测试类或测试方法的数字与字母顺序 0~9,A-Z
用例综合框架管理
前面测试用例与执行都是写在一个文件,当用例数量不断增加的时候,用例的执行与管理变得非常麻烦,因此需要对用例根据具体的功能模块来使用单独的模块来管理。就像一所学习要根据不同年级进行分班管理,也是同样道理。
Test_Project 文件目录下包含4个python文件:
- l–StartEnd.py
- l–calculatory.py
- l–test_add.py
- l–test_sub.py
- l–runtest.py
calculatory.py1
2
3
4
5
6
7
8
9
10
11#两个数相加或者相减
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
StartEnd.py
1 | import unittest |
test_add.py
1 | from calculator import * |
test_sub.py
1 | from calculator import * |
discover方式执行
runtest.py
- 使用discover 可以一次调用多个脚本
- test_dir 被测试脚本的路径
- pattern 脚本名称匹配规则
1 | import unittest |
非discover方式执行测试
1 | from calculatory import Count |
注意事项:
多级目录调用需要在每一个子目录下面新建一个init.py文件,文件内容可以为空,表示包含标准模块的的python模块目录