Skip to main content

kotlin-testing

Design high-value Kotlin tests across unit, integration, coroutine, property, contract, adapter, end-to-end, load, and regression layers using JUnit, Kotest, MockK, Turbine, Testcontainers, or project-native tools. Use to create or assess Kotlin tests, fixtures, coverage, determinism, mutation sensitivity, and whole-project acceptance modules.

설치로 이동

소스 정보

저장소
full-stack-skills/kotlin-skills
최근 소스 활동
2026년 9월 11일 13:43
감지된 SKILL.md 언어
영어
스타
0
포크
0

설치 방법

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

소스 파일 검토

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

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
kotlin-testing
license
Apache-2.0
description
Design high-value Kotlin tests across unit, integration, coroutine, property, contract, adapter, end-to-end, load, and regression layers using JUnit, Kotest, MockK, Turbine, Testcontainers, or project-native tools. Use to create or assess Kotlin tests, fixtures, coverage, determinism, mutation sensitivity, and whole-project acceptance modules.
# Kotlin Testing Tests prove observable contracts. Coverage measures exercised structure but does not prove migration completeness or behavioral equivalence. ## Test design - Name the contract, source test, defect, risk, or incident each test protects. - Assert values, typed failures, ordering, state transitions, side effects, call counts, serialization bytes, cleanup, or externally observable timing boundaries. - Prefer real values and fakes at owned boundaries. Mock only costly or nondeterministic collaborators. - Use table/property tests for input partitions; retain each source case identity during migrations. - For coroutines, use virtual time and event-driven coordination. Never use unbounded waits or fixed sleeps as synchronization. - Reuse adapter conformance suites so every implementation receives the same contract assertions plus adapter-native tests. - Keep fixtures versioned and deterministic. Record seeds, locale, timezone, encoding, and platform assumptions. ## Test layers | Layer | Purpose | |---|---| | Unit | local algorithm and value contracts | | Component | real module behavior with owned dependencies | | Integration | external protocol, persistence, serialization, process boundaries | | Contract | shared behavior for every adapter/provider | | End-to-end | public workflow through production composition | | `<project>-test` | whole-project migration parity and differential acceptance | ## Migration rule Production modules keep local tests. A dedicated `<project>-test` Gradle module owns copied source fixtures, cross-module scenarios, Java/Kotlin runners, output normalization, and full differential comparison. It must not replace local tests, and local tests must not be counted as whole-project acceptance unless they actually cross the production composition boundary. ## Quality gates ```bash ./gradlew --no-daemon test ./gradlew --no-daemon check ``` Add mutation, fuzz/property, load/soak, compatibility, or security gates according to risk. Do not weaken assertions to improve pass rate or inflate coverage with trivial tests.
GitHub에서 보기