Skip to main content

devtools-testing-guidance

Guidance on selecting the appropriate test suite (Unit, API, or E2E tests) when writing new tests in Chrome DevTools. MUST be used when writing new tests.

소스 정보

저장소
ChromeDevTools/devtools-frontend
최근 소스 활동
2026년 10월 15일 10:43
감지된 SKILL.md 언어
영어
스타
4,090
포크
735

설치 방법

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

소스 파일 검토

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

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
devtools-testing-guidance
description
Guidance on selecting the appropriate test suite (Unit, API, or E2E tests) when writing new tests in Chrome DevTools. MUST be used when writing new tests.
# Testing Guidance This guide outlines when and how to select the appropriate test suite when writing new tests in Chrome DevTools. > [!NOTE] > This skill provides guidance on **which** test suite to choose when writing tests. To learn **how** to run tests, build targets, or execute linters, refer to the `devtools-verification` skill. ## Choosing a Test Suite ### 1. Unit Tests **Default choice:** The vast majority of tests in DevTools should be unit tests. Use unit tests for isolated testing of individual functions, classes, models, helpers, and UI components. - **Utilities & Framework:** - Use `TestUniverse` (and foundation test helpers) for easy, isolated setup of required dependencies and models. - For testing UI widgets, use stubbed view functions and screenshot assertions rather than spinning up heavy DOM/browser infrastructure. - **Location:** Co-located next to their implementation files (e.g. `TimelinePanel.ts` and `TimelinePanel.test.ts`). - **Test functions:** import `describe`, `it`, `beforeEach`, etc. from `mocha` (e.g. `import {describe, it} from 'mocha';`). They are not available as globals. - **BUILD.gn**: test file should be added to `devtools_ui_module("unittests")` or `devtools_foundation_module("foundation_unittests")` target in the corresponding `BUILD.gn` file. --- ### 2. API Tests Use API tests for integration tests that verify business logic requiring more complex setups or extensive CDP (Chrome DevTools Protocol) traffic, without needing the full DevTools frontend UI. - **When to use:** - Evaluating JavaScript expressions in the target page (e.g. via `Runtime.evaluate`). - Complex source map setups and symbolization. - Multi-context or target setups (workers, iframes, OOPIFs). - Tests that require extensive CDP mock setup. - Verifying the "foundational layer" of DevTools models against a real browser/web page. - **Location:** Defined in `front_end/` with `.test.api.ts` extension (e.g. `Universe.test.api.ts`). - **Test functions:** import `describe`, `it` and `setup` from `test/api/mocha-interface.ts`. They are not available as globals. - **BUILD.gn**: test file should be added to `devtools_api_test_module("api_tests")` target in the corresponding `BUILD.gn` file, which needs `test/api` in its `ts_deps`. --- ### 3. End-to-End (E2E) Tests Use E2E tests to verify real end-to-end user stories and user journeys. - **When to use:** - Verifying full user journeys across DevTools panels and drawers. - Complex UI behaviors that require extensive user interaction setup and benefit from a complete DevTools frontend page connected to an inspected target page over CDP. - **Location:** Defined in `test/e2e/` (e.g. `test/e2e/console/console-log.test.ts`). - **Test functions:** import `describe`, `it` and `setup` from `test/e2e/conductor/mocha-interface.ts` (e.g. `import {describe, it} from '../conductor/mocha-interface.js';`). They are not available as globals. - **BUILD.gn**: test file should be added to the `node_ts_library` target in the corresponding `BUILD.gn` file, which needs `"../conductor:implementation"` in its `ts_deps`. And `node_ts_library` in `test/e2e/BUILD.gn` for its dependencies.
GitHub에서 보기