将上篇的方法封装进send_method里面,然后创建case 类来进行run case。
运行case的第一种方法:unittest_main() //这样会运行所有case,如果要跳过只能单条加skip装饰器@unittest.skip
第二种方法:使用test suite(如下面代码)。但这种的话需在运行前配置下运行环境。
如果之前运行过unittest_main() ,默认使用unittest执行
运行前将它改过来:Edit configuration-->新建-->python-->随便填个名字
填写你当前要运行python文件位置-->完成
后续运行test suite选择这个interpreter来运行
参考:https://www.cnblogs.com/will-wu/p/15323661.html
#coding UTF-8
import unittest
from base.demo_request import send_method
class TestMethod(unittest.TestCase):
def setUp(self):
self.run = send_method()
def tearDown(self):
pass
#@unittest.skip
def test_01(self):
url_1 = '*****'
data_1 = {"country": "CN", "countryId": 0, "currTime": "2021-12-15 23:29:26", "deviceType": 0,
"language": "zh_CN_#Hans", "model": "6127I", "page": 1, "pageSize": 3, "region": "CN",
"version": "v5.2148.41.1001.0"}
result = self.run.run_main(url_1,"POST",data_1)
self.assertEqual(result['code'],0,msg="测试通过")
# print(result)
#globals()['userid'] = 1000222
print("这是第一个case")
def test_02(self):
url = '****'
data = {
'deviceType': '0',
'language': 'zh_CN_%23Hans'
}
result = self.run.run_main(url,"GET",data)
self.assertEqual(result['code'], 0, msg="测试通过")
#print(userid)
print("这是第二个case")
if __name__ == '__main__':
#unittest.main()
suite = unittest.TestSuite()
suite.addTest(TestMethod('test_01'))
runner = unittest.TextTestRunner()
runner.run(suite)