首先交代一下背景:需要在基于pyunit的测试项目中编写一些测试用例,简单来讲主要是通过调用几个soa接口来等效一个测试场景,接口有可能会抛出异常;因为有的接口的入参是依赖上一个接口的,有可能入参也会出错;数据库的数据有可能没有插入成功;有的表里的数据需要删除掉,避免影响下次触发的测试
测试用例的写法
首先是建一个class,一般一类的测试用例可以写在一个类里,举个例子
#测试用例类需要继承基本类
class OrderCases(unittest.TestCase):
#setUp方法用于测试用例执行前的初始化工作,我用到的是在这个方法里建立数据库连接,在没个用例执行前会调用
def setUp(self):
self.conn=.....
self.cursor=....
def test_order1(self):
#这里用到try...finally...的原因是不管测试用例中间是否异常,都需要finally删除因测试插入数据库的设置
try:
......
#检查点,不满足的时候抛出异常,加异常信息
assert (...),"some message"
...
#删除数据,记得提交
finally:
self.cursor.execute('sql 语句')
self.conn.commit()
def test_order2(self):
......同上
#tearDown用于在测试用例执行后的善后工作,这里主要是关闭数据库连接,没需要可以不写
def tearDown(self):
self.cursor.close()
self.conn.close()
总的来说,熟悉业务和代码的前提下测试用例写起来还是很快的