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

用wordpress开发网站模板天津免费建网站

用wordpress开发网站模板,天津免费建网站,科技网站欣赏,三维立体网站建设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.yayakq.cn/news/59940/

相关文章:

  • 成都网站成都网站制作公司网络营销有哪些主要功能
  • 宁波设计网站公司开发公司空置房物业费会计科目
  • 做网站怎么接私活wordpress程序怎么装
  • 网页网站设计公司排名下载好的字体怎么安装到wordpress
  • 微网站开发框架自建电商网站有哪些
  • 性价比高柳州网站建设网站后台制作步骤
  • 风向 网站市场监督管理局待遇如何
  • 微购物网站建设河南省建设厅网站136号文件
  • 网站排名推广推荐房产网站系统源码
  • 做公众号微网站站点推广策略包括
  • 常州企业自助建站女生学网络工程难吗
  • 网站ipv6改造怎么做 网页代码新乡商城网站建设哪家优惠
  • 网站域名后缀代表什么意思企业网站代码
  • 成都有哪些做公司网站的公司如何用电子邮箱做网站
  • 门户网站建设成本网站开发制作价格
  • seo做的不好的网站网络举报网站
  • 济南企业如何建网站网站为什么上传不了图片
  • 做电影网站会被捉吗建设pc端网站是什么意思
  • 做阿里巴巴网站需要多少钱六安网站建设定制
  • 免费无版权图片网站根据网站集约化建设要求
  • 合肥响应式网站建设方案建设工程公司采购的网站
  • c 网站做死循环网站建设企业建站方案
  • 信用网站建设原则专业定制网红变色杯
  • 济南建站方案关键词优化排名有哪些牛霸天的软件1
  • apt方式 安装wordpress濮阳做网站优化
  • 学做网站开发网络营销策划的基本原则是什么
  • .net购物网站开发中企动力网站icp备案通知
  • 温州网站建设优化公司分类信息网址
  • 北京市的重点门户网站有哪些浙江省住房和城乡建设厅官方网站
  • 自已买域名做网站要多少钱广元建设网站要多少钱