如题,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 号是一种方法。想问问,不查数据库,直接靠代码的方式怎么实现呢?
最后,祝大家节日快乐哈!!!