بنقرة واحدة
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