Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill testing명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | testing |
| description | | Use when this capability is needed. |
/\
/E2E\ Few: Full user flows
/------\
/ INT \ Some: Component integration
/----------\
/ UNIT \ Many: Individual functions
/--------------\
// sum.test.ts
import { sum } from './sum';
describe('sum', () => {
it('adds two numbers', () => {
expect(sum(2, 3)).toBe(5);
});
it('handles negative numbers', () => {
expect(sum(-1, 1)).toBe(0);
});
});
import { render, screen, fireEvent, waitFor } from '@testing-library/react';
import { UserForm } from './UserForm';
describe('UserForm', () => {
it('submits form data', async () => {
const onSubmit = jest.fn();
render(<UserForm onSubmit={onSubmit} />);
fireEvent.change(screen.getByLabelText('Name'), {
target: { value: 'John' }
});
fireEvent.click(screen.getByText('Submit'));
await waitFor(() => {
expect(onSubmit).toHaveBeenCalledWith({ name: 'John' });
});
});
it('shows validation errors', async () => {
render(<UserForm onSubmit={jest.fn()} />);
fireEvent.click(screen.getByText('Submit'));
expect(await screen.findByText('Name is required')).toBeInTheDocument();
});
});
import request from 'supertest';
import app from '../app';
describe('GET /api/users/:id', () => {
it('returns user', async () => {
const response = await request(app)
.get('/api/users/123')
.expect(200);
expect(response.body.user).toMatchObject({
id: '123',
name: expect.any(String)
});
});
it('returns 404 for non-existent user', async () => {
await request(app)
.get('/api/users/999')
.expect(404);
});
});
import { test, expect } from '@playwright/test';
test('user can sign up', async ({ page }) => {
await page.goto('/signup');
await page.fill('[name="email"]', 'test@example.com');
await page.fill('[name="password"]', 'password123');
await page.click('button[type="submit"]');
await expect(page).toHaveURL('/dashboard');
await expect(page.locator('h1')).toContainText('Welcome');
});
Converted and distributed by TomeVault — claim your Tome and manage your conversions.