AgentSkillsCN

libharness

libharness——测试框架与 Mock 模拟基础设施。createMockStorage、createMockConfig、createMockLogger 提供了各类框架模拟对象;createMockMemoryClient、createMockLlmClient、createMockAgentClient 则为服务客户端提供了 Mock 实现;createMockGrpcCall 更专为 gRPC 测试而设计。适用于对依赖关系隔离的服务与软件包进行单元测试。

SKILL.md
--- frontmatter
name: libharness
description: >
  libharness - Test harness and mock infrastructure. createMockStorage,
  createMockConfig, createMockLogger provide framework mocks.
  createMockMemoryClient, createMockLlmClient, createMockAgentClient provide
  service client mocks. createMockGrpcCall for gRPC testing. Use for unit
  testing services and packages with isolated dependencies.

libharness Skill

When to Use

  • Writing unit tests for services and packages
  • Mocking external dependencies (storage, config, logging)
  • Creating isolated test environments
  • Testing gRPC service implementations

Key Concepts

Framework mocks: createMockStorage, createMockConfig, createMockLogger provide test doubles for core infrastructure.

Client mocks: createMockMemoryClient, createMockLlmClient, etc. provide test doubles for gRPC service clients.

Fixtures: Pre-configured test data and assertion helpers.

Usage Patterns

Pattern 1: Mock infrastructure

javascript
import {
  createMockConfig,
  createMockStorage,
  createMockLogger,
} from "@copilot-ld/libharness";

const config = createMockConfig("test-service");
const storage = createMockStorage();
const logger = createMockLogger();

Pattern 2: Mock service clients

javascript
import { createMockLlmClient } from "@copilot-ld/libharness";

const llmClient = createMockLlmClient({
  completionResponse: { content: "Hello" },
});

Integration

Used across all test files. Requires libtype for generated type mocks.