python接口自动化(4)——unittest的使用

一、unittest的简单使用

1、所有case都得以test开头

2、整个测试只会执行一次的类方法: setUpClass、tearDownClass 用@classmethod注解

3、每个方法之前都会执行一次的方法:setUp、tearDown

import unittest


class TestMethod(unittest.TestCase):
    # 类方法 整个测试只会执行一次
    @classmethod
    def setUpClass(cls):
        print("类执行之前的方法")

    @classmethod
    def tearDownClass(cls):
        print("类执行之后的方法")

    # 每个方法之前执行
    def setUp(self):
        print("test--setup")

    # 每个方法之后执行
    def tearDown(self):
        print("test--teardown")

    def test_01(self):
        print("这是第一个测试方法")

    def test_02(self):
        print("这是第二个测试方法")


if __name__ == '__main__':
    unittest.main()

二、unittest与request重构封装

import unittest
from requestsDemo import RunMain


class TestMethod(unittest.TestCase):

    # 每个方法之前执行
    def setUp(self):
        self.run = RunMain()

    def test_01(self):
        url = "http://127.0.0.1:8000/login/"
        data = {
            'username': 'ahui',
            'password': '123456'
        }
        res = self.run.run_main(url, 'POST', data)
        print(res)

    def test_02(self):
        url = "http://127.0.0.1:8000/login/"
        data = {
            'username': 'ju',
            'password': '123456'
        }
        res = self.run.run_main(url, 'POST', data)
        print(res)


if __name__ == '__main__':
    unittest.main()

requestsDemo文件:

import requests
import json


class RunMain:

    # 发送post请求
    def send_post(self, url, data):
        res = requests.post(url=url, data=data).json()
        return json.dumps(res, indent=2)

    # 发送get请求
    def send_get(self, url, data):
        res = requests.get(url=url, data=data).json()
        return json.dumps(res, indent=2)

    def run_main(self, url, method, data=None):
        res = None
        if method == "POST":
            res = self.send_post(url, data)
        else:
            res = self.send_get(url, data)
        return res


if __name__ == '__main__':
    url = "http://127.0.0.1:8000/login/"
    data = {
        'username': 'ahui',
        'password': '123456'
    }
    run = RunMain(url, 'POST', data)
    print(run.res)

猜你喜欢

转载自blog.csdn.net/yuan_ahui/article/details/125823658
今日推荐