add-missing-unit-test

โดย flutter

Add a new unit test for a class that currently lacks one or add a new test case to an existing test file, verifying improvement with Kover.

npx skills add https://github.com/flutter/flutter-intellij --skill add-missing-unit-test

Skill: Add Missing Unit Test

You are tasked with adding a new unit test for a class that currently lacks one, or adding a new test case to an existing test file, to improve code coverage and reliability.

Objective

Add a new unit test for a class that currently lacks one, or add a new test case to an existing test file, to improve code coverage and reliability.

Workflow Instructions

1. Identify Target

  • Choose a class in src/ that has complex logic but logic coverage is missing or incomplete.

2. Establish Baseline

  • Run ./gradlew testClasses to compile all sources (production and test) and ensure the project is in a valid state.
  • Run ./gradlew verifyPlugin to ensure no plugin verification issues exist.
  • Run ./gradlew test (or specific test if it exists) to establish current pass/fail status.
  • Run tests with Kover (./gradlew koverHtmlReport or ./gradlew koverXmlReport) to determine current coverage percentage for target class.

3. Implement Test

  • Create a new test class ([ClassName]Test) in testSrc/ if it doesn't exist.
  • Add test cases to cover specific methods, edge cases, and branches.
  • Ensure the test follows project testing conventions (naming, mocking, assertions).

4. Verify

  • Run ./gradlew testClasses to ensure new test compiles.
  • Run new test (and related tests) to ensure it passes.
  • Run ./gradlew verifyPlugin to ensure no regressions in plugin verification.
  • Run Kover again to confirm coverage improvement.

5. Report & Review

  • Summarize test added and coverage improvement.
  • Test Location: Explicitly state where in the IDE user should go to test changed functionality (e.g., "Run the new test file [TestFileName]").
  • Action: Ask user to review new test closely. Validate that code being tested is actively used (e.g., check that it is not dead code/0 references).
  • Do not commit or push.
  • Provide a suggested Git commit message, explicitly including the Kover coverage improvement:
    • Example Pattern: Add unit tests for [Class Name]. Coverage verified using Kover. Coverage improvement: [Class Name]: ~[X]% line coverage ([Y] covered, [Z] uncovered).

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

adding-release-notes
flutter
เพิ่มคำอธิบายการเปลี่ยนแปลงที่ผู้ใช้เห็นลงในบันทึกประจำรุ่นของ DevTools ใช้เมื่อบันทึกการปรับปรุง การแก้ไข หรือฟีเจอร์ใหม่ในไฟล์ NEXT_RELEASE_NOTES.md
official
dart-modern-features
flutter
เพื่อหาผู้สมัครสำหรับการปรับปรุงให้ทันสมัย:
official
api-review
flutter
ตรวจสอบโค้ดที่ระบุเทียบกับแนวทาง API Design มาตรฐาน ใช้สกิลนี้เมื่อผู้ใช้ขอให้รีวิว API หรือตรวจสอบโค้ดตามแนวทาง API design…
official
code-documentation
flutter
คู่มือสำหรับการเขียนเอกสารประกอบโค้ดอย่างมีประสิทธิภาพ รวมถึง docstrings, JSDoc, dartdoc และคอมเมนต์การใช้งาน ใช้ทักษะนี้เมื่อเขียนโค้ดใหม่ เพิ่มเติม…
official
dart-add-unit-test
flutter
Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains…
official
dart-build-cli-app
flutter
โครงสร้างจุดเริ่มต้น, รหัสออกจากโปรแกรม, สคริปต์ข้ามแพลตฟอร์ม ใช้เมื่อสร้างยูทิลิตี้คำสั่ง, สคริปต์, หรือแอปพลิเคชัน
official
dart-collect-coverage
flutter
เก็บข้อมูลความครอบคลุมโดยใช้แพ็กเกจ coverage และสร้างรายงาน LCOV
official
dart-fix-runtime-errors
flutter
ใช้ get_runtime_errors และ lsp เพื่อดึง stack trace ที่ใช้งานอยู่ ค้นหาบรรทัดที่เกิดข้อผิดพลาด ใช้การแก้ไข และตรวจสอบผลลัพธ์ผ่าน hot_reload
official