원클릭으로
testing-standards
Standards and instructions for testing in the Nothingness project.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Standards and instructions for testing in the Nothingness project.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Efficient app-driving workflow for the real Flutter app on emulator or Linux/macOS desktop via VM service extensions, including common blocker recovery.
Quality gate protocol between implementation and handoff.
Guidelines for creating and maintaining documentation in the Nothingness project. Use when adding architecture docs, design docs, or complex logic explanations.
Standards for code quality, linting, and modern API usage in Flutter. Use when writing or modifying Dart code. Covers deprecations and analyzer rules.
Guidelines for running Flutter CLI commands and handling sandbox permissions. Use when executing flutter build, run, pub, or clean commands.
Guidelines for polling GitHub Actions workflow runs via MCP tools. Use when working with CI/CD workflows, monitoring builds, or debugging workflow failures.
| name | testing-standards |
| description | Standards and instructions for testing in the Nothingness project. |
We mirror the lib/ directory structure within test/ to ensure tests are easy to locate.
test/models/ -> Unit tests for data models.test/services/ -> Unit tests for services (mock dependencies).test/widgets/ -> Widget tests for reusable components.test/screens/ -> Widget tests for full pages.The debug/automation harness lives out of tree under dev/ (e.g. dev/test_harness.dart, dev/fake_audio_transport.dart); production reaches it only through the thin lib/debug_hooks.dart seam.
We also use Flutter's emulator/device integration tests:
integration_test/ -> End-to-end behavior tests on a real device/emulator.expect(true, isTrue)). If a component cannot be tested yet, document the reason in the code or a tracking issue, but do not create a dummy test file.Use integration_test/ when validating cross-widget behavior or contracts that are hard to express in pure widget tests:
When integration tests need deterministic behavior (no real audio files, no plugin-level playback), use the out-of-tree test-only entrypoint:
dev/main_test.dartThis can wire:
ValueKeys) for automationtest/ subdirectory (e.g., lib/models/foo.dart -> test/models/foo_test.dart).mockito for external dependencies.
@GenerateMocks([DependencyClass]) to your test entry point if needed.dart run build_runner build to generate mocks.testWidgets and pumpWidget. Ensure you wrap widgets in MaterialApp if they depend on theme/navigation.flutter testflutter test test/path/to/file_test.dartflutter test -d <deviceId> integration_test/some_test.dart