Go 测试

AI 智能 社区
解读按原文结构重写,命令、链接、术语均保留;右侧可核对作者原始 SKILL.md

原文结构

  • Default Testing Stance:Unless there is a clear reason not to, prefer these defaults: Use black-box tests with an external test package: package mypkgtest Test public behaviour and interfaces, not internal implementation details
  • Core Principles:Behaviour over implementation - Assert externally visible outcomes Fast feedback - Keep most tests cheap enough to run constantly Deterministic - Avoid sleeps, real clocks, network access, and ambient environment dependence
  • Package and File Conventions:原文以此为独立章节。

适用与边界

  • When to Use:Writing new unit, integration, or package-level tests for Go code Refactoring tests toward idiomatic Go structure and stronger signal Reviewing Go test suites for maintainability, determinism, and coverage gaps
  • Default Rule:Call t.Parallel() unless there is a concrete reason not to. Good candidates: Pure functions

原文中的明确线索

  • 要点:「black-box tests」、「public behaviour and interfaces」、「one top-level test function per public function/method/behaviour」、「subtests」、「t.Parallel() by default」、「t.Run subtests by default」、「table-driven tests only」、「testify/require」
  • 文件与命令package mypkgtestt.Parallel()t.Runtestify/requiretestify/asserttestify/mocktesttest.go

流狐整理:以上内容来自当前 SKILL.md 的章节与原词;未补写作者没有声明的工具、兼容性或能力。

流狐档案 作者与许可取自来源;运行、权限和网络为流狐检测或估算
流狐分类
AI 智能
作者声明 Agent
未找到明确声明;不据此推断已兼容或已测试
静态检查
88 / 100 · 启发式扫描,不代表运行安全
作者 / 版本 / 许可
@tomevault-io · 未声明 license
流狐 Token 估算
低消耗
流狐接入估算
需简单配置
是否需要外部 API Key
未发现要求
检测到的系统要求
未声明
底层运行要求
未声明
检测到的文件与系统行为
  • 只读
  • 允许写入 / 修改
  • Shell 执行
  • 读取环境变量
检测到的网络行为
仅限本地
安装命令数
无(仅作为资料)

档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

输出预览 golang-testing-tomevault-io.preview
# fstest.MapFS Example

func TestLoadConfig(t *testing.T) {
    t.Parallel()

    files := fstest.MapFS{
        "config.json": {Data: []byte(`{"env":"test"}`)},
    }

    cfg, err := config.Load(files, "config.json")
    require.NoError(t, err)
    assert.Equal(t, "test", cfg.Env)
}

讨论

基于 GitHub Discussions。登录 GitHub 即可参与讨论、点赞、订阅更新。