Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/echoVic/boss-skillnpx agentmods add skills/echovic/boss-skill/integration-testingWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/echovic/boss-skill/integration-testing)<a href="https://agentmods.dev/skills/echovic/boss-skill/integration-testing"><img src="https://agentmods.dev/badge/skills/echovic/boss-skill/integration-testing/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/echovic/boss-skill/integration-testing"><img src="https://agentmods.dev/badge/skills/echovic/boss-skill/integration-testing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00038 | $0.03588 |
| Opus 5.5 | $0.00015 | $0.01435 |
| Sonnet 5.5 | $0.00008 | $0.00718 |
| Haiku 4.5 | $0.00004 | $0.00359 |
Grade A, and why
qa/integration-testing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 462 lines — stays where its author put it; the contents beside it link to each section on GitHub.
集成测试方法论
参考开源实践:Testcontainers、Testing Library、WireMock、Testcontainers-go、Django Test Client
集成测试 vs 单元测试
| 维度 | 单元测试 | 集成测试 |
|---|---|---|
| 范围 | 单个函数/组件 | 多个模块协作 |
| 依赖 | Mock 外部依赖 | 真实依赖(DB、HTTP) |
| 速度 | 快(ms) | 较慢(s) |
| 目的 | 验证逻辑正确性 | 验证模块间协作 |
| 数据 | Mock 数据 | 测试数据库/真实数据 |
1. 后端集成测试
1.1 数据库集成测试
使用真实数据库(Testcontainers 或测试数据库),不 mock Repository 层。
Node.js + Testcontainers (PostgreSQL)
// tests/integration/userRepository.test.ts
import { PostgreSqlContainer } from '@testcontainers/postgresql';
import { PrismaClient } from '@prisma/client';
import { UserRepository } from '../../src/repositories/userRepository';
describe('UserRepository (integration)', () => {
let container: StartedPostgreSqlContainer;
let prisma: PrismaClient;
let repo: UserRepository;
beforeAll(async () => {
container = await new PostgreSqlContainer().start();
prisma = new PrismaClient({ datasources: { db: { url: container.getConnectionUri() } } });
await prisma.$executeRawUnsafe('CREATE EXTENSION IF NOT EXISTS "uuid-ossp"');
repo = new UserRepository(prisma);
}, 60000);
afterAll(async () => {
await prisma.$disconnect();
await container.stop();
}, 60000);
beforeEach(async () => {
await prisma.user.deleteMany();
});
it('creates and retrieves user', async () => {
const user = await repo.create({ name: 'Alice', email: '[email protected]' });
const found = await repo.findByEmail('[email protected]');
expect(found?.id).toBe(user.id);
expect(found?.name).toBe('Alice');
});
it('returns null for non-existent email', async () => {
const found = await repo.findByEmail('[email protected]');
expect(found).toBeNull();
});
});
Python + pytest (PostgreSQL)
# tests/integration/test_user_repository.py
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from app.models import Base
from app.repositories import UserRepository
@pytest.fixture(scope="module")
def db_session():
engine = create_engine("postgresql://test:test@localhost:5432/test_db")
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
yield session
session.close()
Base.metadata.drop_all(engine)
def test_create_and_get_user(db_session):
repo = UserRepository(db_session)
user = repo.create(name="Alice", email="[email protected]")
found = repo.find_by_email("[email protected]")
assert found.id == user.id
assert found.name == "Alice"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 462 lines · 38 tokens per session scan A f905dbff0d78
qa/integration-testing is a skill published in the GitHub repository echoVic/boss-skill (544 stars, last pushed today), licensed MIT. It adds 38 tokens to every session and 3,588 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-28.
Other skills, from other repositories
convex-test
Generate convex-test tests for the app's Convex functions.
validate-contracts
Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy.
Contract Test Generator
Generate consumer-driven contract tests using Pact framework to verify API provider-consumer compatibility and prevent integration breaking changes.
api-testing-rest
Comprehensive RESTful API testing patterns covering HTTP methods, status codes, request/response validation, authentication, error handling, and contract testing.
Contract Testing with Pact
Consumer-driven contract testing skill using Pact, covering consumer tests, provider verification, Pact Broker integration, and CI/CD workflows.
playwright-api
API testing skill using Playwright's built-in APIRequestContext for RESTful service validation, authentication flows, and API contract verification.