e2e

โดย sentry

รันการทดสอบ E2E สำหรับแอปพลิเคชันทดสอบ Sentry JavaScript SDK

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

Skills เพิ่มเติมจาก sentry

generate-frontend-forms
sentry
คู่มือการสร้างฟอร์มโดยใช้ระบบฟอร์มใหม่ของ Sentry ใช้เมื่อต้องการสร้างฟอร์ม ฟิลด์ฟอร์ม การตรวจสอบความถูกต้อง หรือฟังก์ชันบันทึกอัตโนมัติ
official
sentry-snapshots-cocoa
sentry
การตั้งค่า Sentry Snapshots แบบสมบูรณ์สำหรับโปรเจกต์ Apple/Cocoa ใช้เมื่อถูกขอให้ "ตั้งค่า SnapshotPreviews", "ตั้งค่าการทดสอบ snapshot ของ Apple", "อัปโหลด snapshots ของ Apple ไปยัง…
official
architecture-review
sentry
การตรวจสอบสุขภาพโค้ดเบสระดับทีมงาน ค้นหาโมดูลขนาดใหญ่ที่รวมทุกอย่างไว้ด้วยกัน ความล้มเหลวที่ไม่มีสัญญาณเตือน ช่องว่างด้านความปลอดภัยของชนิดข้อมูล ช่องโหว่ของความครอบคลุมการทดสอบ และปัญหาที่เป็นมิตรกับ LLM
official
linear-type-labeler
sentry
จำแนกประเภทของ Linear issues และใช้ป้ายกำกับประเภทจากระบบป้ายกำกับของ Sentry workspace ตามเนื้อหาของชื่อและคำอธิบายของแต่ละ issue
official
sentry-flutter-sdk
sentry
การตั้งค่า Sentry SDK แบบเต็มสำหรับ Flutter และ Dart ใช้เมื่อถูกขอให้ "เพิ่ม Sentry ใน Flutter", "ติดตั้ง sentry_flutter", "ตั้งค่า Sentry ใน Dart" หรือกำหนดค่าข้อผิดพลาด...
official
sentry-svelte-sdk
sentry
การตั้งค่า Sentry SDK อย่างสมบูรณ์สำหรับ Svelte และ SvelteKit ใช้เมื่อถูกขอให้ "เพิ่ม Sentry ไปยัง Svelte", "เพิ่ม Sentry ไปยัง SvelteKit", "ติดตั้ง @sentry/sveltekit" หรือกำหนดค่า…
official
vercel-react-best-practices
sentry
แนวทางปฏิบัติที่ดีที่สุดในการเพิ่มประสิทธิภาพ React และ Next.js จากทีมวิศวกรรมของ Vercel ควรใช้ทักษะนี้เมื่อเขียน ตรวจสอบ หรือปรับโครงสร้าง React/Next.js…
official
sentry-tanstack-start-sdk
sentry
การตั้งค่า Sentry SDK แบบเต็มสำหรับ TanStack Start React ใช้เมื่อถูกขอให้ "เพิ่ม Sentry ไปยัง TanStack Start", "ติดตั้ง @sentry/tanstackstart-react" หรือกำหนดค่าข้อผิดพลาด…
official