MCP HubMCP Hub
返回技能列表

typescript-test

KubrickCode
更新于 Today
47 次查看
1
1
在 GitHub 上查看
reactaitestingdesign

关于

This Claude Skill provides Jest-based TypeScript testing expertise, offering best practices for test structure, mocking strategies, async handling, and coverage optimization. It specializes in unit/integration testing, Jest mocking patterns, snapshot testing, and UI component testing with Testing Library. Use it when writing TypeScript test files, structuring tests, implementing mocks, or configuring Jest for TypeScript projects.

技能文档

TypeScript Testing Code Guide

Test File Structure

One-to-one matching with the file under test. Test files should be located in the same directory as the target file.

File Naming

Format: {target-file-name}.spec.ts.

Example: user.service.tsuser.service.spec.ts

Test Framework

Use Jest. Maintain consistency within the project.

Test Hierarchy

Organize by method (function) unit as major sections, and by test case as minor sections. Complex methods can have intermediate sections by scenario.

Test Coverage Selection

Omit obvious or overly simple logic (simple getters, constant returns). Prioritize testing business logic, conditional branches, and code with external dependencies.

Test Case Composition

At least one basic success case is required. Focus primarily on failure cases, boundary values, edge cases, and exception scenarios.

Test Independence

Each test should be executable independently. No test execution order dependencies. Initialize shared state for each test.

Given-When-Then Pattern

Structure test code in three stages—Given (setup), When (execution), Then (assertion). Separate stages with comments or blank lines for complex tests.

Test Data

Use hardcoded meaningful values. Avoid random data as it causes unreproducible failures. Fix seeds if necessary.

Mocking Principles

Mock external dependencies (API, DB, file system). For modules within the same project, prefer actual usage; mock only when complexity is high.

Test Reusability

Extract repeated mocking setups, fixtures, and helper functions into common utilities. Be careful not to harm test readability through excessive abstraction.

Integration/E2E Testing

Unit tests are the priority. Write integration/E2E tests when complex flows or multi-module interactions are difficult to understand from code alone. Place in separate directories (tests/integration, tests/e2e).

Test Naming

Test names should clearly express "what is being tested". Recommended format: "should do X when Y". Focus on behavior rather than implementation details.

Assertion Count

Multiple related assertions in one test are acceptable, but separate tests when validating different concepts.

Structure

Group methods/functionality with describe, write individual cases with it. Can classify scenarios with nested describe.

Mocking

Utilize Jest's jest.mock(), jest.spyOn(). Mock external modules at the top level; change behavior per test with mockReturnValue, mockImplementation.

Async Testing

Use async/await. Test Promise rejection with await expect(fn()).rejects.toThrow() form.

Setup/Teardown

Use beforeEach, afterEach for common setup/cleanup. Use beforeAll, afterAll only for heavy initialization (DB connection, etc.).

Type Safety

Type check test code too. Minimize as any or @ts-ignore. Use type guards or type assertions explicitly when needed.

Test Utils Location

For single-file use, place at bottom of same file. For multi-file sharing, use __tests__/utils or test-utils directory.

Coverage

Code coverage is a reference metric. Focus on meaningful test coverage rather than blindly pursuing 100%.

快速安装

/plugin add https://github.com/KubrickCode/ai-config-toolkit/tree/main/typescript-test

在 Claude Code 中复制并粘贴此命令以安装该技能

GitHub 仓库

KubrickCode/ai-config-toolkit
路径: .claude/skills/typescript-test

相关推荐技能

llamaguard

其他

LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能

evaluating-llms-harness

测试

该Skill通过60+个学术基准测试(如MMLU、GSM8K等)评估大语言模型质量,适用于模型对比、学术研究及训练进度追踪。它支持HuggingFace、vLLM和API接口,被EleutherAI等行业领先机构广泛采用。开发者可通过简单命令行快速对模型进行多任务批量评估。

查看技能

langchain

LangChain是一个用于构建LLM应用程序的框架,支持智能体、链和RAG应用开发。它提供多模型提供商支持、500+工具集成、记忆管理和向量检索等核心功能。开发者可用它快速构建聊天机器人、问答系统和自主代理,适用于从原型验证到生产部署的全流程。

查看技能