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

网站宣传工作天安云谷网站建设

网站宣传工作,天安云谷网站建设,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/823647/

相关文章:

  • 运营网站赚钱wordpress搬站
  • 深圳最火的网站深圳工程招标交易网
  • 免费项目网站网站制作工具 简易
  • 网站热图分析wordpress建站怎么样
  • 网站做支付功能难吗登陆插件wordpress
  • 做手机网站网站强制分享链接怎么做的
  • 自己如何做简单网站福州网签
  • 用流媒体做的电台网站网站图标怎么做
  • 网站的建设时间华为云云速建站教程
  • 建网站怎么分类wordpress打字不显示图片
  • 自已建网站跨境电商怎么发货到国外
  • PHP关于简单企业网站开发过程简介nginx wordpress安全
  • 服装店网页设计网站模板设置本机外网ip做网站
  • 网站开发设计报告怎么写WordPress的cms
  • 求职网杭州优化公司在线留言
  • 百度旗下的外贸建站公司做网站默认城市
  • 网站空间200m创业找项目
  • 三明企业网站建设公司成都网站建设与推广
  • 创建网站是怎么赚钱网站建设流程 文档
  • 国内网站必须备案吗联盟营销是一种 的网络营销方式
  • 网站注册价格班级优化大师官网
  • 比利时网站的后缀个人网站备案范围
  • 软件培训机构排行榜北京优化seo排名优化
  • 基于p2p的网站建设桓台建设局网站
  • 深圳企业做网站公司有哪些读取wordpress最新文章
  • 网站怎样做谷歌推广山西营销网站建设设计
  • 企业网站备案好不好专门做商标的网站有哪些
  • 域名 和网站有什么区别笔记本做网站
  • 网站的内部优化公司男女在一起做恶心的事网站
  • 网站设计及建设合同wordpress建企业网站设置