软测05/22记录一下学习过程|unittest与接口测试

2022/05/22学习内容
整理时间:2022/05/23
参考资料:https://www.bilibili.com/video/BV1NM4y1K73T?p=1&spm_id_from=333.851.header_right.history_list.click

进入新阶段-unittest

unittest基本使用

1.pytest与unittest

1)第三方插件,较好用
2)python自带模块,兼容性强

2.unittest优势

1)能执行多用例
2)断言丰富
3)日志与测试结果丰富

3.一些方法

1)TestCase:测试用例–用类的方式组织对一个功能的多项测试
2)Fixture:夹具–固定测试环境
3)TestSuite:测试套件–组织多个TestCase
4)TestRunner:测试执行–执行TestSuite并导出测试结果TestResult

4.入门案例

test_Indoor1.py
1)步骤
创建测试类
书写测试方法
执行测试

import unittest


def setUpModule():
    print("setUpMoudle")


def tearDownModule():
    print("tearDownModule")


class TestOne(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("setUpClass")

    @classmethod
    def tearDownClass(cls):
        print("tearDownClass")

    def setUp(self):
        print("setUp")

    def tearDown(self):

        print("tearDown")

    def test_01(self):
        print("这是test_01")

    def test_02(self):
        print("这是test_02")


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

5.子测试subtest
test_Indoor2.py
1)用于执行多个相似的测试(参数不同)并得到多次测试结果
2)unittest夹具

import unittest


def setUpModule():
    print("setUpMoudle")


def tearDownModule():
    print("tearDownModule")


class NumbersTest(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("setUpClass")

    @classmethod
    def tearDownClass(cls):
        print("tearDownClass")

    def setUp(self):
        print("setUp")

    def tearDown(self):
        print("tearDown")

    def test_even(self):
        for i in range(0, 6):
            # 有子测试,将运行全部结果
            with self.subTest(i=i):
                self.assertEqual(i % 2, 0)

            # 无子测试,只有一个结果
            # self.assertEqual(i % 2, 0)


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

6.TestSuite测试套件
test_Indoor3.py
1)步骤
创建TestSuite对象
添加测试内容
运行TestLoader
生成测试报告TestReport

import unittest
from unittest import TextTestRunner
from unittest import TestResult
from unitcode.test_Indoor1 import TestOne


suite = unittest.TestSuite()
# 添加单个TestCase
# suite.addTest(TestOne("test_01"))

# 添加某个测试类的多个方法
# suite.addTests([TestOne("test_01"), TestOne("test_02")])
# suite.addTests(map(TestOne, ["test_01", "test_02"]))

# 添加测试类的所有方法
from unittest.loader import makeSuite
suite.addTest(makeSuite(TestOne))

# 执行TestSuite方法一
# runner = TextTestRunner()
# runner.run(suite)

# 执行TestSuite方法二
# 当前目录下的report里将生成格式为HTML的测试报告
import HtmlTestRunner
runner = HtmlTestRunner.runner.HTMLTestRunner()
runner.run(suite)

进入新阶段-接口测试

接口测试

1.接口测试概念

1)广义概念:系统与系统间的通讯协议/规范
user插口
库中提供的类与方法
web数据接口
2)狭义概念:web数据接口,后端服务器通过http形式接受请求返回响应数据
前后端分离的接口
第三方接口

2.接口数据类型

1)xml:相对古老
2)json:目前相对主流,具有相同含义的信息传输信息量较小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值