Token导航 LogoToken导航TokenDH.com
运维和基础设施操作浏览器github未标认证来源可访问clear审计通过

go-test-standards去测试标准

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

264

周安装

11

GitHub Stars

6

下载量

88
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:go-test-standards(去测试标准)
来源仓库:https://github.com/iceleaf916/my-cc-plugins
仓库路径:skills/go-test-standards
安装命令:
npx skills add https://github.com/iceleaf916/my-cc-plugins --skill go-test-standards
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/iceleaf916/my-cc-plugins --skill go-test-standards

简介

go-test-standards 用于辅助测试设计、自动化测试、用例整理和回归验证。

  • 适合让 Agent 编写单元测试、端到端测试或根据失败日志定位问题。
  • 使用时需确认项目测试框架、运行命令和夹具数据,避免误改逻辑。
  • 涉及浏览器或外部服务时,应区分本地模拟与生产环境。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Golang 单元测试规范

一、需要遵循的单元测试理论

1.1 每个测试单元逻辑上分为四个阶段(可以用阶段名作为注释分割)

阶段说明
Setup准备测试所需的数据和环境
Exercise执行被测试的代码
Verify验证执行结果是否符合预期
Teardown清理测试环境和数据

1.2 测试替身使用原则

  • 尽可能使用 stub 类型,而不是 mock。为 stub 对象命名时应带有 stub 关键字而不是 mock关键字。
  • 针对全局函数的模拟考虑使用 monkey patching

二、单测代码规范

2.1 框架与断言库

Go 项目必须使用以下工具:

  • ginkgo - BDD 测试框架
  • gomega - 断言库

注意事项:

  • ginkgo 可以使用. 导入。gomega 不要使用. 导入,而且禁止使用 Ω 别名。
  • 测试套件注册入口单独写到 suite_test.go
  • 被测试文件包为 abc,则测试文件属于 abc_test 包。

2.2 数据访问层测试模板

package db_test

import (
    "fmt"
    "reflect"
    "testing"

    _ "github.com/go-sql-driver/mysql"
    "github.com/jinzhu/gorm"
    . "github.com/onsi/ginkgo/v2"
    . "github.com/onsi/gomega"
    dockertest "github.com/ory/dockertest/v3"
    "github.com/ory/dockertest/v3/docker"
)

const (
    dbName = "test"
    dbPwd  = "test"
)

func TestDB(t *testing.T) {
    RegisterFailHandler(Fail)
    RunSpecs(t, "Db Test Suite", Label("repo", "store/db"))
}

var (
    Db            *gorm.DB
    cleanupDocker func()
)

var _ = BeforeSuite(func() {
    Db, cleanupDocker = setupGormWithDocker()
})

var _ = AfterSuite(func() {
    cleanupDocker()
})

var _ = BeforeEach(func() {
    Except(cleanDatabase(Db, dbName)).To(Succeed())
})

func setupGormWithDocker() (*gorm.DB, func()) {
    pool, err := dockertest.NewPool("")
    chk(err)

    runDockerOpt := &dockertest.RunOptions{
        Repository: "hub.deepin.com/library/mariadb",
        Tag:        "10.3.35",
        Env:        []string{"MARIADB_DATABASE=" + dbName, "MARIADB_ROOT_PASSWORD=" + dbPwd},
    }

    fnConfig := func(config *docker.HostConfig) {
        config.AutoRemove = true
        config.RestartPolicy = docker.NeverRestart()
    }

    resource, err := pool.RunWithOptions(runDockerOpt, fnConfig)
    chk(err)

    fnCleanup := func() {
        err := resource.Close()
        chk(err)
    }

    dsn := fmt.Sprintf("root:%s@tcp(localhost:%s)/%s?charset=utf8&parseTime=True&loc=Local",
        dbPwd,
        resource.GetPort("3306/tcp"),
        dbName,
    )

    var gdb *gorm.DB
    err = pool.Retry(func() error {
        gdb, err = gorm.Open("mysql", dsn)
        if err != nil {
            return err
        }
        return gdb.DB().Ping()
    })
    chk(err)

    return gdb, fnCleanup
}

func cleanDatabase(db *gorm.DB, dbName string) error {
    // 删除数据库内的所有对象,比如数据表,以达到重置数据库的作用
}

func chk(err error) {
    if err != nil {
        panic(err)
    }
}

三、单元测试工具库

3.1 Framework

工具说明
ginkgoExpressive BDD testing framework with Gomega matchers
gomegaGinkgo's Preferred Matcher Library
bilobaStable, performant, automated browser testing for Ginkgo
chromedpDrive Chrome browsers via DevTools Protocol

3.2 Integration

工具说明
iotestStd Package - Readers and Writers for testing
httptestStd Package - HTTP testing utilities
dockertestRun integration tests with Docker containers
testcontainers-goProgrammatically manage Docker containers

3.3 Double (Test Doubles)

工具类型说明
moqStubGenerate interface mocks for testing
gomonkeyMonkeyMonkey patching library for unit testing
mockMockGo mocking framework with code generation

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Cursor

29.41%
按下载量换算26

Claude Code

23.3%
按下载量换算21

windsurf

18.54%
按下载量换算16

OpenCode

12.38%
按下载量换算11

Codex

7.68%
按下载量换算7

Antigravity

3.21%
按下载量换算3

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills