npx skills add https://www.modelscope.cn/skills/@code-visionary/testing-helper
smithery/Dexploarer
testing-helper
Create comprehensive tests for elizaOS plugins, characters, and actions. Triggers on "create tests", "test elizaOS plugin", or "write agent tests
Installation
npx skills add smithery/Dexploarer --skill testing-helper
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Browser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsConfigure Azure API Management as an AI Gateway for AI models, MCP tools, and agents. WHEN: sem…
566.3K installsAzure VM/VMSS router. WHEN: create / provision / deploy / spin-up VM, recommend VM size, compar…
510K installsPostgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill …
391.6K installsPrisma ORM CLI commands reference covering init, generate, migrate, db, dev, complete, studio, …
267K installsUse when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge F…
263K installsAlso in this package
Other skills from smithery/Dexploarer · top by installs.
npx skills add smithery/Dexploarer
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Skill metadata
Parsed from SKILL.md frontmatter.
Write, Read, EditPackage contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md3,940 B -
docs
SUMMARY.md168 B
History
- First recorded snapshot · 0 installs
SKILL.md
Testing Helper Skill
Generate comprehensive test suites for elizaOS components with unit, integration, and E2E tests.
Test Structure
__tests__/
├── unit/
│ ├── actions.test.ts
│ ├── providers.test.ts
│ ├── evaluators.test.ts
│ └── services.test.ts
├── integration/
│ ├── plugin.test.ts
│ └── character.test.ts
└── e2e/
└── agent-flow.test.ts
Action Tests
import { describe, it, expect, beforeEach } from 'vitest';
import { myAction } from '../src/actions/myAction';
import { createMockRuntime, createMockMessage } from '@elizaos/core/test';
describe('MyAction', () => {
let runtime: any;
let message: any;
beforeEach(() => {
runtime = createMockRuntime();
message = createMockMessage();
});
it('validates correct input', async () => {
const valid = await myAction.validate(runtime, message);
expect(valid).toBe(true);
});
it('rejects invalid input', async () => {
message.content = {};
const valid = await myAction.validate(runtime, message);
expect(valid).toBe(false);
});
it('executes successfully', async () => {
const result = await myAction.handler(runtime, message);
expect(result).toBeDefined();
});
it('handles errors gracefully', async () => {
runtime.createMemory = () => { throw new Error('Test error'); };
const result = await myAction.handler(runtime, message);
expect(result).toContain('failed');
});
});
Provider Tests
describe('MyProvider', () => {
it('returns valid data', async () => {
const result = await myProvider.get(runtime, message);
expect(result).toHaveProperty('values');
expect(result).toHaveProperty('data');
expect(result).toHaveProperty('text');
expect(typeof result.text).toBe('string');
});
it('handles missing data', async () => {
const result = await myProvider.get(runtime, null);
expect(result.text).toBe('');
});
});
Character Tests
describe('Character Configuration', () => {
it('has required fields', () => {
expect(character.name).toBeDefined();
expect(character.bio).toBeDefined();
});
it('has valid plugins', () => {
expect(character.plugins).toContain('@elizaos/plugin-bootstrap');
});
it('has valid message examples', () => {
character.messageExamples?.forEach(conversation => {
expect(Array.isArray(conversation)).toBe(true);
conversation.forEach(msg => {
expect(msg).toHaveProperty('name');
expect(msg).toHaveProperty('content');
});
});
});
});
Integration Tests
describe('Plugin Integration', () => {
let runtime: AgentRuntime;
beforeAll(async () => {
runtime = new AgentRuntime({
character: testCharacter,
plugins: [myPlugin]
});
await runtime.initialize();
});
afterAll(async () => {
await runtime.stop();
});
it('loads plugin correctly', () => {
expect(runtime.plugins).toContain(myPlugin);
});
it('registers actions', () => {
const action = runtime.actions.find(a => a.name === 'MY_ACTION');
expect(action).toBeDefined();
});
});
E2E Tests
describe('Agent Flow', () => {
it('processes message end-to-end', async () => {
const response = await runtime.processMessage({
content: { text: 'Hello' },
senderId: 'user-1',
roomId: 'room-1'
});
expect(response.content.text).toBeDefined();
});
});
Coverage Requirements
- Unit tests: >80% code coverage
- Integration tests: All components
- E2E tests: Main user flows
- Error scenarios tested
- Edge cases covered