如题,unittest中的case数据有依赖关系:
例如:case001新增了一名用户,返回值中会包含一个id号
在case002中删除case001中新增的用户,需要用到返回的id号,我的代码如下
class Shiyi_test(unittest.TestCase):
def setUp(self):
print("*" * 90)
self.url = "http://www.baidu.com"
self.headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",}
def tearDown(self):
print("*" * 90)
# 新增用户:
def test_001_add(self):
payload = {"Name": 119, "mobile": 119}
r = requests.post(url=self.url, data=json.dumps(payload), headers=self.headers)
print(r.json())
return r.json()['id']
# 删除用户
def test_002_del(self):
d = Shiyi_test.test_001_add()
print(d)
if __name__ == '__main__':
unittest.main()
问题出现在第二条case:
1.直接运行的话,会报错
TypeError: test_001_add() missing 1 required positional argument: 'self'
2.如果在d = Shiyi_test.test_001_add(self)加入self,可以获取id值,但是case002实际上把001新增用户又执行一遍,系统里面就会出现两个用户。
麻烦请教一下,这个错误在哪里呢?具体该怎么传递这一个数值呢?谢谢
PS:查数据库直接获取id号是一种方法。想问问,不查数据库,直接靠代码的方式怎么实现呢?
最后,祝大家节日快乐哈!!!