testing
テストの作成またはリファクタリングが必要な場合に使用します。JUnit 4、Robolectric、androidTest、命名規則、MockWebServer、JaCoCoに対応しています。
description の原文を見る
Use when writing or refactoring tests – JUnit 4, Robolectric, androidTest, naming, MockWebServer, JaCoCo
SKILL.md 本文
Testing – Contentstack Android CDA SDK
Android CDA SDK でテストを追加またはリファクタリングする際に、このスキルを使用します。
使用時機
- 新しいユニットテストまたはインストルメンテーションテストを作成する。
- テストレイアウト、ベースクラス、またはテストユーティリティをリファクタリングする。
- テスト設定(例:タイムアウト、Robolectric、JaCoCo)またはカバレッジを調整する。
手順
JUnit 4 とレイアウト
- JUnit 4(junit:junit)を使用します。依存関係は
contentstack/build.gradleにあります。 - ユニットテスト: クラス名は
Testで始まるようにしてください(例:TestEntry、TestStack)。contentstack/src/test/java/com/contentstack/sdk/に配置します。 - インストルメンテーションテスト:
contentstack/src/androidTest/java/com/contentstack/sdk/に配置します。AndroidJUnitRunner を使用します。命名は既存のスタイルに従うことができます(例:*TestCase)。
Robolectric とユニットテスト
- Robolectric は JVM 上で Android コンテキストを提供します。テストが
Contextを必要とする場合に使用します(例:Contentstack.stack(context, ...))。 - ユニットテストで HTTP をモック化する場合、SDK が OkHttp/Retrofit を使用する場所では OkHttp MockWebServer を使用します。必要に応じて Volley/CSHttpConnection をモック化またはスタブ化します。
インストルメンテーションテストと認証情報
- BuildConfig: インストルメンテーションテストは
local.propertiesからBuildConfigフィールド(APIKey、deliveryToken、environment、host)を使用できます(contentstack/build.gradleを参照)。実際の認証情報をコミットしないでください。必要な変数を文書化します。 - プロジェクトで AndroidX Test と Espresso を使用します。フレーキーなテスト(タイムアウト、必要に応じて IdlingResource)を避けます。
命名と構造
- 可能な限り、プロダクションクラスごとに 1 つのテストクラスを作成します(例:
Entryに対してTestEntry)。 - テストを決定的で読みやすく保ちます。大きなセットアップブロックより、意味のあるアサーションを優先します。
カバレッジと実行
- JaCoCo は
contentstack/build.gradleで設定されています。./gradlew :contentstack:jacocoTestReportを実行してユニットテストカバレッジを取得します(例:contentstack/build/reports/jacoco/)。 - ユニットテスト:
./gradlew :contentstack:testDebugUnitTest - インストルメンテーション:
./gradlew :contentstack:connectedDebugAndroidTest - プロダクションコードを変更する際はカバレッジを維持または改善します。新しいまたは変更された動作についてテストを追加します。
参考資料
contentstack/build.gradle– テスト依存関係、testOptions、jacoco- プロジェクトルール:
.cursor/rules/testing.mdc
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- contentstack
- ライセンス
- MIT
- 最終更新
- 2026/4/30
Source: https://github.com/contentstack/contentstack-android / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。