e2e

작성자: sentry

Sentry JavaScript SDK 테스트 애플리케이션의 E2E 테스트를 실행합니다

npx skills add https://github.com/getsentry/sentry-javascript --skill e2e

E2E Test Runner Skill

This skill runs end-to-end tests for Sentry JavaScript SDK test applications. It ensures SDK packages are built before running tests.

Input

The user provides a test application name and optionally a variant:

  • e2e-tests/test-applications/nextjs-app-dir (full path)
  • nextjs-app-dir (just the app name)
  • nextjs-app-dir --variant nextjs-15 (with variant)

Workflow

Step 1: Parse the Test Application Name

Extract the test app name from user input:

  • Strip e2e-tests/test-applications/ prefix if present
  • Extract variant flag if provided (e.g., --variant nextjs-15)
  • Store the clean app name (e.g., nextjs-app-dir)

Step 2: Determine Which Packages Need Rebuilding

If the user recently edited files in packages/*, identify which packages were modified:

# Check which packages have uncommitted changes (including untracked files)
git status --porcelain | grep "^[ MARC?][ MD?] packages/" | cut -d'/' -f2 | sort -u

For each modified package, rebuild its tarball:

cd packages/<package-name>
yarn build && yarn build:tarball
cd ../..

Option C: User Specifies Packages

If the user says "I changed @sentry/node" or similar, rebuild just that package:

cd packages/node
yarn build && yarn build:tarball
cd ../..

Step 3: Verify Test Application Exists

Check that the test app exists:

ls -d dev-packages/e2e-tests/test-applications/<app-name>

If it doesn't exist, list available test apps:

ls dev-packages/e2e-tests/test-applications/

Ask the user which one they meant.

Step 4: Run the E2E Test

Navigate to the e2e-tests directory and run the test:

cd dev-packages/e2e-tests
yarn test:run <app-name>

If a variant was specified:

cd dev-packages/e2e-tests
yarn test:run <app-name> --variant <variant-name>

Step 5: Report Results

After the test completes, provide a summary:

If tests passed:

✅ E2E tests passed for <app-name>

All tests completed successfully. Your SDK changes work correctly with this test application.

If tests failed:

❌ E2E tests failed for <app-name>

[Include relevant error output]

If package rebuild was needed:

📦 Rebuilt SDK packages: <list of packages>
🧪 Running E2E tests for <app-name>...

Error Handling

  • No tarballs found: Run yarn build && yarn build:tarball at repository root
  • Test app not found: List available apps and ask user to clarify
  • Packed tarballs missing: Run yarn build:tarball at the repo root, then yarn test:prepare in dev-packages/e2e-tests
  • Build failures: Fix build errors before running tests

Common Test Applications

Here are frequently tested applications:

  • nextjs-app-dir - Next.js App Router
  • nextjs-15 - Next.js 15.x
  • react-create-hash-router - React with React Router
  • node-express-esm-loader - Node.js Express with ESM
  • sveltekit-2 - SvelteKit 2.x
  • remix-2 - Remix 2.x
  • nuxt-3 - Nuxt 3.x

To see all available test apps:

ls dev-packages/e2e-tests/test-applications/

Example Workflows

Example 1: After modifying @sentry/node

# User: "Run e2e tests for node-express-esm-loader"

# Step 1: Detect recent changes to packages/node
# Step 2: Rebuild the modified package
cd packages/node
yarn build && yarn build:tarball
cd ../..

# Step 3: Run the test
cd dev-packages/e2e-tests
yarn test:run node-express-esm-loader

Example 2: First-time test run

# User: "Run e2e tests for nextjs-app-dir"

# Step 1: Check for existing tarballs
# Step 2: None found, build all packages
yarn build && yarn build:tarball

# Step 3: Run the test
cd dev-packages/e2e-tests
yarn test:run nextjs-app-dir

Example 3: With variant

# User: "Run e2e tests for nextjs-app-dir with nextjs-15 variant"

# Step 1: Rebuild if needed
# Step 2: Run with variant
cd dev-packages/e2e-tests
yarn test:run nextjs-app-dir --variant nextjs-15

Tips

  • Always rebuild after SDK changes: Tarballs contain the compiled SDK code
  • Watch build output: Build errors must be fixed before testing

Integration with Development Workflow

This skill integrates with the standard SDK development workflow:

  1. Make changes to SDK code in packages/*
  2. Run /e2e <app-name> to test your changes
  3. Fix any test failures

The skill automates the tedious parts of:

  • Remembering to rebuild tarballs
  • Navigating to the correct directory
  • Running tests with the right flags

sentry의 다른 스킬

architecture-review
sentry
직원 수준의 코드베이스 건강 검토. 모놀리식 모듈, 무음 실패, 타입 안전성 격차, 테스트 커버리지 구멍, LLM 친화성 문제를 찾습니다.
pi-agent-integration
sentry
Integrate `@mariozechner/pi-agent-core` as the agent abstraction inside another library or runtime. Use when implementing or refactoring Pi Agent wrappers,…
sentry-debug-issue
sentry
Sentry 이슈를 디버깅하고 수정합니다 — (링크, ID 또는 검색으로) 찾고, 전체 컨텍스트(스택 트레이스, 브레드크럼, 트레이스, 로그)를 가져오고, 선택적으로 Seer 근본 원인 분석을 실행합니다…
sentry-svelte-sdk
sentry
Svelte 및 SvelteKit을 위한 완전한 Sentry SDK 설정입니다. "Svelte에 Sentry 추가", "SvelteKit에 Sentry 추가", "@sentry/sveltekit 설치" 또는 구성 요청 시 사용하세요.
sentry-svelte-sdk
sentry
Svelte 및 SvelteKit을 위한 완전한 Sentry SDK 설정입니다. "Svelte에 Sentry 추가", "SvelteKit에 Sentry 추가", "@sentry/sveltekit 설치" 또는 구성 요청 시 사용하세요.
skill-scanner
sentry
에이전트 스킬의 보안 문제를 스캔합니다. "스킬 스캔" 요청 시 사용하세요.
prompt-optimizer
sentry
에이전트 프롬프트, 시스템 프롬프트, 개발자 프롬프트 및 재사용 가능한 프롬프트 템플릿을 생성, 최적화, 반복적으로 개선합니다. 개선 요청 시 사용합니다.
commit
sentry
commit — AI 에이전트를 위한 설치 가능한 스킬로, getsentry/sentry-docs에서 게시했습니다.