当前位置: 首页 > news >正文

网站公安备案通知书网站快速排名优化

网站公安备案通知书,网站快速排名优化,网站服务器如何做端口映射,中国移动官方网站登录入口1. unittest 介绍 是什么:Python 标准库自带的单元测试框架,遵循 xUnit 架构(类似Java的JUnit)。 核心概念: TestCase:测试用例的基类,所有测试类需继承它。 TestSuite:测试套件&a…

1. unittest 介绍

  • 是什么:Python 标准库自带的单元测试框架,遵循 xUnit 架构(类似Java的JUnit)。

  • 核心概念

    • TestCase:测试用例的基类,所有测试类需继承它。

    • TestSuite:测试套件,用于聚合多个测试用例。

    • TestLoader:加载测试用例。

    • TestRunner:执行测试并输出结果。

  • 适用场景:单元测试、集成测试,适合需要与Python标准库深度集成的项目。


2. 环境搭建

  • 无需安装:Python 自带,直接导入即可:

    python

    复制

    import unittest

3. 用例规则

  • 测试类:必须继承 unittest.TestCase

  • 测试方法:以 test_ 开头(如 test_login)。

  • 断言方法:使用 self.assertXxx()(如 self.assertEqual())。


4. 用例编写示例

python

复制

import unittestclass TestMath(unittest.TestCase):def test_add(self):self.assertEqual(1 + 1, 2)def test_multiply(self):self.assertTrue(2 * 3 == 6)if __name__ == "__main__":unittest.main()

5. 断言方法

方法说明
self.assertEqual(a, b)断言 a == b
self.assertNotEqual(a, b)断言 a != b
self.assertTrue(x)断言 x 为 True
self.assertFalse(x)断言 x 为 False
self.assertIn(a, b)断言 a 在 b 中
self.assertRaises(Error)断言代码块抛出指定异常

6. 测试夹具(Setup/Teardown)

  • 类级别

    python

    复制

    @classmethod
    def setUpClass(cls):   # 类初始化(整个类执行前运行一次)
    @classmethod
    def tearDownClass(cls):# 类清理(整个类执行后运行一次)
  • 方法级别

    python

    复制

    def setUp(self):       # 每个测试方法执行前运行
    def tearDown(self):    # 每个测试方法执行后运行

7. 用例跳过

  • 无条件跳过

    python

    复制

    @unittest.skip("跳过原因")
    def test_skip(self):pass
  • 条件跳过

    python

    复制

    @unittest.skipIf(sys.platform == "win32", "Windows不支持")
    def test_linux_only(self):pass

8. 测试套件(TestSuite)

  • 手动聚合用例

    python

    复制

    suite = unittest.TestSuite()
    suite.addTest(TestMath("test_add"))
    suite.addTest(TestLogin("test_login"))
  • 自动发现用例

    python

    复制

    loader = unittest.TestLoader()
    suite = loader.loadTestsFromModule(test_module)  # 从模块加载
    suite = loader.loadTestsFromTestCase(TestMath)  # 从类加载

9. 参数化

  • 原生不支持:需借助第三方库 parameterized 或 ddt

  • 使用 ddt 示例

    python

    复制

    import ddt@ddt.ddt
    class TestDataDriven(unittest.TestCase):@ddt.data((1, 2, 3), (0, 0, 0))@ddt.unpackdef test_add(self, a, b, expected):self.assertEqual(a + b, expected)

10. 与 pytest 的对比

特性unittestpytest
语法简洁性需继承 TestCase,断言方法较繁琐无需继承,直接使用 assert
参数化依赖第三方库(如ddt)原生支持 @pytest.mark.parametrize
夹具setUp/tearDown更灵活的 @pytest.fixture
插件生态较少丰富(如并发、Allure报告)
执行效率较低更高(支持并发)

11. 集成 HTMLTestRunner(生成测试报告)

步骤:

  1. 下载 HTMLTestRunner.py(非标准库,需单独放置)。

  2. 在代码中调用:

    python

    复制

    with open("report.html", "wb") as f:runner = HTMLTestRunner.HTMLTestRunner(stream=f,title="测试报告",description="用例执行详情")runner.run(suite)

12. 生成测试报告

  • 控制台输出

    bash

    复制

    python -m unittest discover -s tests  # 自动发现并执行测试
  • XML 报告(用于CI集成):

    bash

    复制

    python -m unittest discover -s tests -p "test_*.py" -v > report.xml

总结

  • 适用场景:适合需要与Python标准库无缝集成的项目,或团队习惯xUnit风格。

  • 优势

    • 无需额外安装,兼容性强。

    • 清晰的类与方法结构。

  • 劣势:灵活性较低,扩展依赖第三方库。

  • 推荐搭配:结合 ddt(参数化)、coverage(覆盖率)、HTMLTestRunner(报告)提升效率。

http://www.shuangfujiaoyu.com/news/1773.html

相关文章:

  • 京东商城网站建设目的整站seo优化公司
  • 公司网站最新版360优化大师下载安装
  • 食品餐饮网站建设seo搜索引擎优化5
  • 网站页面一般以多大标准做合适seo是付费还是免费推广
  • 建设高校图书馆网站的意义互联网营销师在哪里报名
  • 哈尔滨+做网站公司有哪些推广如何做网上引流
  • 网站建设人员性格特点域名注册信息查询whois
  • 晋城做网站的百度指数功能
  • 微商城网站建设教程对网络营销的认识有哪些
  • 怎样做网站维护百度客服联系方式
  • 几级分销属于合法seo站长综合查询
  • 三门峡网站建设高端网站建设专业公司
  • 网站显示时间代码谷歌搜索引擎在线
  • 怎么样注册网站百度极速版app下载
  • 做英文网站需要多少品牌推广策划方案怎么写
  • 如何免费创建个人网站爱站站长工具
  • 移动端网站建设百度竞价排名广告定价鲜花
  • 装饰装修网站模板建设最有创意的广告语30条
  • seo1网站查询济南seo官网优化
  • 手机网游排行榜2022前十名最新seo网络优化招聘信息
  • 加盟型网站建设百度网盘人工申诉电话
  • asp.net 网站安装免费网站注册平台
  • 打电话来说做网站 然后答应了拼多多关键词排名查询工具
  • wordpress不同栏目使用不同模板网站关键词优化推广
  • 福州金山网站建设seo优化范畴
  • div+css网络公司网站模板百度快速收录网站
  • 自己人网站建设网络客服
  • 茶叶网站的建设策划书友情链接怎么连
  • 网站备案更改网站负责人app下载量推广
  • 网站建设水上乐园seo网站推广主要目的不包括