Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计未展示

testing测试

Agent Skill

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

总安装

212

周安装

9

GitHub Stars

265

下载量

74
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/rsmdt/the-startup --skill testing

简介

用于辅助测试设计、自动化测试和回归验证,适合编写测试用例和定位失败问题。

  • 支持测试计划制定、端到端测试生成和夹具数据处理,提升测试覆盖能力。
  • 使用时需确认项目测试框架和运行命令,避免为了通过测试而破坏业务逻辑。
  • 安装命令:npx skills add https://github.com/rsmdt/the-startup --skill testing
  • 涉及外部服务时应明确区分测试环境与生产环境的操作边界。

SKILL.md

Testing

How to write effective tests and run them successfully.

When to Use

  • Writing unit, integration, or E2E tests
  • Debugging test failures
  • Reviewing test quality
  • Deciding what to mock vs use real implementations

Layer Distribution

  • Unit (60-70%): Mock at boundaries only
  • Integration (20-30%): Real deps, mock external services only
  • E2E (5-10%): No mocking - real user journeys

Writing Tests by Layer

Unit Tests

Purpose: Verify isolated business logic.

Mocking rules:

  • Mock at the edge only (databases, APIs, file system, time)
  • Test the real system under test with actual implementations
  • Use real internal collaborators - mock only external boundaries
// CORRECT: Mock only external dependency
const service = new OrderService(mockRepository)  // Repository is the edge
const total = service.calculateTotal(order)
expect(total).toBe(90)

// WRONG: Mocking internal methods
vi.spyOn(service, 'applyDiscount')  // Now you're testing the mock

Characteristics: < 100ms, no I/O, deterministic

Test here: Business logic, validation, transformations, edge cases


Integration Tests

Purpose: Verify components work together with real dependencies.

Mocking rules:

  • Use real databases
  • Use real caches
  • Mock only external third-party services (Stripe, SendGrid)
// CORRECT: Real DB, mock external payment API
const db = await createTestDatabase()
const paymentApi = vi.mocked(PaymentGateway)
const service = new CheckoutService(db, paymentApi)

await service.checkout(cart)

expect(await db.orders.find(orderId)).toBeDefined()  // Real DB
expect(paymentApi.charge).toHaveBeenCalledOnce()     // Mocked external

Characteristics: < 5 seconds, containerized deps, clean state between tests

Test here: Database queries, API contracts, service communication, caching


E2E Tests

Purpose: Validate critical user journeys in the real system.

Mocking rules:

  • No mocking - that's the entire point
  • Use real services (sandbox/test modes)
  • Real browser automation
// Real browser, real system (Playwright example)
await page.goto('/checkout')
await page.fill('#card', '4242424242424242')
await page.click('[data-testid="pay"]')

await expect(page.locator('.confirmation')).toContainText('Order confirmed')

Characteristics: < 30 seconds, critical paths only, fix flakiness immediately

Test here: Signup, checkout, auth flows, smoke tests


Core Principles

Test Behavior, Not Implementation

// CORRECT: Observable behavior
expect(order.total).toBe(108)

// WRONG: Implementation detail
expect(order._calculateTax).toHaveBeenCalled()

Arrange-Act-Assert

// Arrange
const mockEmail = vi.mocked(EmailService)
const service = new UserService(mockEmail)

// Act
await service.register(userData)

// Assert
expect(mockEmail.sendTo).toHaveBeenCalledWith('user@example.com')

One Behavior Per Test

Multiple assertions OK if verifying same logical outcome.

Descriptive Names

// GOOD
it('rejects order when inventory insufficient', ...)

// BAD
it('test order', ...)

Test Isolation

No shared mutable state between tests.


Running Tests

Execution Order

  1. Lint/typecheck - Fastest feedback
  2. Unit tests - Fast, high volume
  3. Integration tests - Real dependencies
  4. E2E tests - Highest confidence

Debugging Failures

Unit test fails:

  1. Read the assertion message carefully
  2. Check test setup (Arrange section)
  3. Run in isolation to rule out state leakage
  4. Add logging to trace execution path

Integration test fails:

  1. Check database state before/after
  2. Verify mocks configured correctly
  3. Look for race conditions or timing issues
  4. Check transaction/rollback behavior

E2E test fails:

  1. Check screenshots/videos (most frameworks capture these)
  2. Verify selectors still match the UI
  3. Add explicit waits for async operations
  4. Run locally with visible browser to observe
  5. Compare CI environment to local

Flaky Tests

Handle aggressively - they erode trust:

  1. Quarantine - Move to separate suite immediately
  2. Fix within 1 week - Or delete
  3. Common causes:

- Shared state between tests - Time-dependent logic - Race conditions - Non-deterministic ordering


Coverage

Quality over quantity - 80% meaningful coverage beats 100% trivial coverage.

Focus testing effort on business-critical paths (payments, auth, core domain logic). Skip generated code.


Edge Cases

Always test:

Boundaries: min-1, min, min+1, max-1, max, max+1, zero, one, many

Special values: null, empty, negative, MAX_INT, NaN, unicode, leap years, timezones

Errors: Network failures, timeouts, invalid input, unauthorized


Anti-Patterns

PatternProblem
Over-mockingTesting mocks instead of code
Implementation testingBreaks on refactoring
Shared stateTest order affects results
Test duplicationUse parameterized tests instead

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Claude Code

27.36%
按下载量换算20

windsurf

23.24%
按下载量换算17

OpenCode

16.92%
按下载量换算13

Codex

10.52%
按下载量换算8

Gemini CLI

7.76%
按下载量换算6

trae

3.19%
按下载量换算2

安全审计

暂无安全审计结果可展示。

权限和风险

操作浏览器

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

安装前确认

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

来源信息

继续浏览同类 Skills