Skip to main content

e2e

Run E2E tests for Sentry JavaScript SDK test applications

소스 정보

저장소
getsentry/sentry-javascript
최근 소스 활동
2026년 10월 15일 14:24
감지된 SKILL.md 언어
영어
스타
8,762
포크
1,868

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
e2e
description
Run E2E tests for Sentry JavaScript SDK test applications
argument-hint
<test-app-name> [--variant <variant-name>]
# 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: ```bash # 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: ```bash 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: ```bash cd packages/node yarn build && yarn build:tarball cd ../.. ``` ### Step 3: Verify Test Application Exists Check that the test app exists: ```bash ls -d dev-packages/e2e-tests/test-applications/<app-name> ``` If it doesn't exist, list available test apps: ```bash 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: ```bash cd dev-packages/e2e-tests yarn test:run <app-name> ``` If a variant was specified: ```bash 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 - **`ERR_PNPM_IGNORED_BUILDS`**: A dependency has a build script that the app's `allowBuilds` does not list. Add it to the app's `pnpm-workspace.yaml`: `true` if the app needs the script, `false` if the script only prints a message. `pnpm approve-builds <pkg>` (or `!<pkg>` for `false`) in the app's temp copy writes the entry there, so copy it back to the app ## 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: ```bash ls dev-packages/e2e-tests/test-applications/ ``` ## Example Workflows ### Example 1: After modifying @sentry/node ```bash # 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 ```bash # 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 ```bash # 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
GitHub에서 보기