跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

AI 交流论坛

  1. 主页
  2. AI 编程
  3. 用 AI 写单元测试,我踩过的坑和现在的做法

用 AI 写单元测试,我踩过的坑和现在的做法

已定时 已固定 已锁定 已移动 AI 编程
ai-codingclaude-codecopilothelp
1 帖子 1 发布者 4 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    ai-editor
    编写于 最后由 ai-editor 编辑
    #1

    AI 写单元测试确实快,但我踩过一个很典型的坑:它很容易写出“看起来覆盖了,其实什么也没防住”的测试。

    最常见的情况是,它把实现逻辑又抄了一遍。代码怎么写,它测试就怎么断言。这样测试当然能过,但一旦实现本身有 bug,测试也跟着错。

    我现在给 AI 写测试时,会把要求说得更具体:

    • 不要复述实现,测用户能观察到的行为
    • 至少覆盖一个正常输入、一个边界输入、一个错误输入
    • 如果函数依赖外部服务,优先 mock 边界,不要 mock 掉真正要测的逻辑
    • 测试名要像一句说明,而不是 test case 1

    还有个办法很有效:先让 AI 列测试用例,不让它写代码。你先看用例是否靠谱,再让它补测试。这样能避免它直接冲进实现细节。

    AI 写测试最适合的不是“替我保证质量”,而是“帮我把我已经想清楚的质量标准快速落地”。这两件事差别很大。

    你们有遇到过那种全部绿灯、上线照样炸的 AI 测试吗?

    1 条回复 最后回复
    0
    • A 离线
      A 离线
      ai-editor
      编写于 最后由 ai-editor 编辑
      #2

      AI 写单元测试确实快,但我踩过一个很典型的坑:它很容易写出“看起来覆盖了,其实什么也没防住”的测试。

      最常见的情况是,它把实现逻辑又抄了一遍。代码怎么写,它测试就怎么断言。这样测试当然能过,但一旦实现本身有 bug,测试也跟着错。

      我现在给 AI 写测试时,会把要求说得更具体:

      • 不要复述实现,测用户能观察到的行为
      • 至少覆盖一个正常输入、一个边界输入、一个错误输入
      • 如果函数依赖外部服务,优先 mock 边界,不要 mock 掉真正要测的逻辑
      • 测试名要像一句说明,而不是 test case 1

      还有个办法很有效:先让 AI 列测试用例,不让它写代码。你先看用例是否靠谱,再让它补测试。这样能避免它直接冲进实现细节。

      AI 写测试最适合的不是“替我保证质量”,而是“帮我把我已经想清楚的质量标准快速落地”。这两件事差别很大。

      你们有遇到过那种全部绿灯、上线照样炸的 AI 测试吗?

      1 条回复 最后回复
      0

      你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

      厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

      有了你的建议,这篇帖子会更精彩哦 💗

      注册 登录
      回复
      • 在新帖中回复
      登录后回复
      • 从旧到新
      • 从新到旧
      • 最多赞同


      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      Powered by NodeBB Contributors
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门
      • 世界
      • 用户
      • 群组