- 介绍如何用 Hypothesis 的 @given 与 lists 策略为去重函数编写属性测试,断言输出无重复且元素均来自输入,并集成 pytest;当属性失败时,Hypothesis 会自动缩小到最小反例,帮助定位边界问题。 介绍如何用 Hypothesis 的 @given 与 lists 策略为去重函数编写属性测试,断言输出无重复且元素均来自输入,并集成 pytest;当属性失败时,Hypothesis 会自动缩小到最小反例,帮助定位边界问题。
- 用 pytest-socket 在 pytest.ini 中配置 --disable-socket,可让单元测试默认无法建立网络连接,避免意外调用真实 HTTP 接口。本文给出可运行示例、运行方法与边界限制,并说明如何对 HTTP 客户端打桩及按需放行本地服务。 用 pytest-socket 在 pytest.ini 中配置 --disable-socket,可让单元测试默认无法建立网络连接,避免意外调用真实 HTTP 接口。本文给出可运行示例、运行方法与边界限制,并说明如何对 HTTP 客户端打桩及按需放行本地服务。
- 默认 Mock 会宽容地接受任意属性访问和方法调用,导致拼写错误或签名不匹配的测试假通过。本文通过最小示例演示问题,并说明如何用 create_autospec、patch(autospec=True) 和 spec_set=True 让 mock 对象严格匹配真实接口,最后给出运行方法与边界限制。 默认 Mock 会宽容地接受任意属性访问和方法调用,导致拼写错误或签名不匹配的测试假通过。本文通过最小示例演示问题,并说明如何用 create_autospec、patch(autospec=True) 和 spec_set=True 让 mock 对象严格匹配真实接口,最后给出运行方法与边界限制。
- 用AI怎样做自动化工序? 用AI怎样做自动化工序?
- 我为什么把单元测试从“走过场”变成了“必修课”说实话,我以前对单元测试的态度是:能跑就行,能不写就不写。理由很充分:需求天天变,写完就改,测了也白测;业务逻辑简单,肉眼 review 就够了;时间紧,写测试不如多写两个接口。这些话听着耳熟吧?我以前就是这么跟同事、跟自己说的。直到有一次,我改了一个“简单到不能再简单”的工具方法——把一个字符串截取函数从按字符数截取改成按字节数截取。改动不到... 我为什么把单元测试从“走过场”变成了“必修课”说实话,我以前对单元测试的态度是:能跑就行,能不写就不写。理由很充分:需求天天变,写完就改,测了也白测;业务逻辑简单,肉眼 review 就够了;时间紧,写测试不如多写两个接口。这些话听着耳熟吧?我以前就是这么跟同事、跟自己说的。直到有一次,我改了一个“简单到不能再简单”的工具方法——把一个字符串截取函数从按字符数截取改成按字节数截取。改动不到...
- Google开发者博客在2026年10月15日公开了一套Agent评测路径:从关键用户旅程、模拟用户和人工Trace审阅,逐步走到自动评测与合并门禁。真正值得测试团队关注的,不是又多了一个评测框架,而是“最终答案看起来没问题”已经不足以证明Agent可以上线。Google在最新的Agent评测文章里给了一个很刺眼的提醒:Agent可能已经陷入循环、重复调用工具、烧掉大量Token,最后却仍然... Google开发者博客在2026年10月15日公开了一套Agent评测路径:从关键用户旅程、模拟用户和人工Trace审阅,逐步走到自动评测与合并门禁。真正值得测试团队关注的,不是又多了一个评测框架,而是“最终答案看起来没问题”已经不足以证明Agent可以上线。Google在最新的Agent评测文章里给了一个很刺眼的提醒:Agent可能已经陷入循环、重复调用工具、烧掉大量Token,最后却仍然...
- 让 AI 写测试,但不让 AI 决定什么是对的:CodeArts Agent + JUnit 5 为 Java 老项目补齐单元测试摘要:接手 Java 老项目时,最让人头疼的往往不是新增一个接口,而是修改一段没有测试保护的业务逻辑。本文围绕华为云码道 CodeArts 代码智能体内置的 developer-test-agent,以优惠券结算服务为例,演示从业务规则梳理、测试用例设计,到 J... 让 AI 写测试,但不让 AI 决定什么是对的:CodeArts Agent + JUnit 5 为 Java 老项目补齐单元测试摘要:接手 Java 老项目时,最让人头疼的往往不是新增一个接口,而是修改一段没有测试保护的业务逻辑。本文围绕华为云码道 CodeArts 代码智能体内置的 developer-test-agent,以优惠券结算服务为例,演示从业务规则梳理、测试用例设计,到 J...
- 1. 结构化“反哺”测试用例(覆盖边界条件)让大模型写单测,如果只说“帮我写单测”,产出的往往全是 Happy Path(正常流程)。提问技巧:明确要求覆盖异常与边界。推荐提示词:“针对以下方法,使用 Mockito + JUnit 5 编写单测。要求分别覆盖:正常调用、空入参(Null/Empty)、第三方服务超时异常,并给出断言说明。”效果:模型会自动补全边界数据构造和 Mock 行为,... 1. 结构化“反哺”测试用例(覆盖边界条件)让大模型写单测,如果只说“帮我写单测”,产出的往往全是 Happy Path(正常流程)。提问技巧:明确要求覆盖异常与边界。推荐提示词:“针对以下方法,使用 Mockito + JUnit 5 编写单测。要求分别覆盖:正常调用、空入参(Null/Empty)、第三方服务超时异常,并给出断言说明。”效果:模型会自动补全边界数据构造和 Mock 行为,...
- 区分值得测的分支边界和凑数的覆盖率代码,讲测行为而非测实现、覆盖率该怎么用,并给出一条务实的落地顺序。 区分值得测的分支边界和凑数的覆盖率代码,讲测行为而非测实现、覆盖率该怎么用,并给出一条务实的落地顺序。
- iOS 异步业务逻辑单元测试异步业务逻辑容易受网络速度、回调顺序和任务取消影响。如果测试依赖真实服务或固定等待,不仅执行缓慢,还会偶发失败。稳定的单元测试应隔离外部依赖,主动控制结果与时序,并验证成功、失败、取消和乱序等路径。 一、把依赖抽象成小协议页面模型不直接创建网络客户端,而是依赖与业务相关的仓库协议:protocol ProfileRepository { func fetc... iOS 异步业务逻辑单元测试异步业务逻辑容易受网络速度、回调顺序和任务取消影响。如果测试依赖真实服务或固定等待,不仅执行缓慢,还会偶发失败。稳定的单元测试应隔离外部依赖,主动控制结果与时序,并验证成功、失败、取消和乱序等路径。 一、把依赖抽象成小协议页面模型不直接创建网络客户端,而是依赖与业务相关的仓库协议:protocol ProfileRepository { func fetc...
- 单元测试实战:从「补测试」到用测试驱动设计覆盖率报表挺好看,却没人敢重构——一改实现几十个测试变红。这种测试不叫安全网,叫负债。这篇讲清测试买什么、测什么不测什么、Mock 的边界、覆盖率的陷阱,以及怎么从遗留代码里长出可用的测试。工程实践手记 ·2026-09-16 ·约 12 分钟阅读一、先想清楚:测试买的是「改代码的底气」很多团队的测试现状是:覆盖率报表挺好看,但没人敢重构——因为一改... 单元测试实战:从「补测试」到用测试驱动设计覆盖率报表挺好看,却没人敢重构——一改实现几十个测试变红。这种测试不叫安全网,叫负债。这篇讲清测试买什么、测什么不测什么、Mock 的边界、覆盖率的陷阱,以及怎么从遗留代码里长出可用的测试。工程实践手记 ·2026-09-16 ·约 12 分钟阅读一、先想清楚:测试买的是「改代码的底气」很多团队的测试现状是:覆盖率报表挺好看,但没人敢重构——因为一改...
- 如何管好一个研发团队? 如何管好一个研发团队?
- CodeArts 使用指南:华为云代码智能体实战手册更新日期:2026-08-21阅读时长:约 15 分钟 引言在软件工程日益复杂的今天,开发者需要面对海量的代码库、繁琐的构建流程、难以复现的缺陷以及永无止境的需求迭代。CodeArts(华为云码道)是华为云推出的代码智能体,它深度集成于开发流程之中,能够理解项目上下文、执行多步骤任务、调用专业工具链,从而把开发者从机械重复的劳动中解放出来... CodeArts 使用指南:华为云代码智能体实战手册更新日期:2026-08-21阅读时长:约 15 分钟 引言在软件工程日益复杂的今天,开发者需要面对海量的代码库、繁琐的构建流程、难以复现的缺陷以及永无止境的需求迭代。CodeArts(华为云码道)是华为云推出的代码智能体,它深度集成于开发流程之中,能够理解项目上下文、执行多步骤任务、调用专业工具链,从而把开发者从机械重复的劳动中解放出来...
- AI 辅助编程工具正在改变单元测试的编写方式,但代码生成后的测试通过率远未达到理想状态。以 CodeArts 代码智能体为例,不少开发者发现自动生成的单元测试在本地跑不通,反复调试后依然难以定位问题。CodeArts 代码智能体单元测试失败解决的效率,取决于能否快速识别失败的典型根源,而不是盲目重试提示词。 AI 辅助编程工具正在改变单元测试的编写方式,但代码生成后的测试通过率远未达到理想状态。以 CodeArts 代码智能体为例,不少开发者发现自动生成的单元测试在本地跑不通,反复调试后依然难以定位问题。CodeArts 代码智能体单元测试失败解决的效率,取决于能否快速识别失败的典型根源,而不是盲目重试提示词。
- 在实际开发中,一个功能模块的完成通常涉及多个工具的切换:用Navicat或DataGrip建表、在IDEA中编写接口代码、在Swagger编辑器中补充文档注解、用JUnit编写测试用例——每个环节都有各自的上下文和操作方式。工具链的频繁切换不仅消耗时间,也增加了遗漏和出错的概率。飞算JavaAI的处理思路是:在单一入口内完成从数据库设计到接口文档再到单元测试的全链路产出。本文以「用户订单系统... 在实际开发中,一个功能模块的完成通常涉及多个工具的切换:用Navicat或DataGrip建表、在IDEA中编写接口代码、在Swagger编辑器中补充文档注解、用JUnit编写测试用例——每个环节都有各自的上下文和操作方式。工具链的频繁切换不仅消耗时间,也增加了遗漏和出错的概率。飞算JavaAI的处理思路是:在单一入口内完成从数据库设计到接口文档再到单元测试的全链路产出。本文以「用户订单系统...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签