Skip to Content

run-tests

Kova コマンドの統合テストを自動実行する Skill です。AI エージェントが「テストして」「broadcast テスト」「policy テスト」「全部テスト」といった指示を受けたとき、このSkillが起動し、コマンド実行・結果検証・レポート生成までを自動で行います。

このページは packages/skills/skills/run-tests/ の実装に基づきます。

トリガー条件

以下のような自然言語の指示でこの Skill が呼び出されます。

  • “テストして”
  • “send broadcast を試して”
  • “ポリシーテスト”
  • “全部テストして”

テスト ID 一覧

ユーザーの発言から実行するテストを推論します。

ユーザーの意図テスト ID内容
”send broadcast”, “ETH 送金テスト”send-ethETH 送金の dry-run + broadcast
”USDC 送金テスト”, “ERC-20 テスト”send-usdcUSDC 送金の dry-run + broadcast
”policy テスト”, “ポリシー”, “POLICY_DENIED”policyポリシー違反の検出確認
”ティアテスト”, “ガードテスト”guardowner-only 操作の構造的 block 確認(非 TTY 経路で INTERACTIVE_INPUT_REQUIRED
“全部テスト”, “all”, “すべて”all上記をすべて順番に実行

不明な場合はユーザーに確認します。

前提

項目
テスト用ウォレットkova init で作成済みのウォレット(自動解決)
送金先アドレス0x0000000000000000000000000000000000000001
テストネットbase-sepolia
USDC コントラクト0x036CbD53842c5426634e7929541eC2318f3dCF7e

Phase 0: 環境チェック(全テスト共通)

すべてのテスト実行前に、必ず Phase 0 を実施します。

Step 0-1: CLI 動作確認

kova --version

バージョン文字列が出力されること。失敗したら以後のテストを中断します。

Step 0-2: ウォレット確認

kova wallet info

ウォレットが存在することを確認します。未設定の場合は kova init でセットアップします。

Step 0-3: ウォレットアドレス取得

kova wallet info

eip155:84532 のアドレスを記録(残高不足時の faucet 案内に利用)。

各テストの内容

send-eth

  1. kova balance で ETH 残高(base-sepolia 行)を取得
  2. dry-run: kova send --name my-wallet --to 0x0000000000000000000000000000000000000001 --amount 0.001 --chain base-sepolia
  3. broadcast: 同コマンドに --broadcast を付与
  4. 送金後の残高が減っていることを確認

send-usdc

  1. ETH 残高(ガス用)と USDC 残高(送金用)を確認
  2. dry-run: kova send --name my-wallet --to 0x... --amount 1 --token USDC --chain base-sepolia
  3. broadcast: 同コマンドに --broadcast を付与
  4. 送金後の USDC 残高が減っていることを確認

policy

  1. kova wallet info でウォレットの存在確認(未設定なら kova init 案内を出して SKIP)
  2. 許可チェーン(base-sepolia)での dry-run が成功する
  3. 禁止チェーン(ethereum)での送金が POLICY_DENIED で拒否される

guard

非 TTY 経路で kova wallet export < /dev/nullINTERACTIVE_INPUT_REQUIRED で構造的にブロックされることを確認します(owner-only 操作のため)。

SKIP フォールバック(残高不足時)

残高不足はテスト失敗ではなく SKIP として扱います。

不足条件挙動
ETH < 0.002(send-ethSKIP 記録 + Base Sepolia faucet URL を案内
ETH = 0(send-usdc のガス用)SKIP 記録 + faucet URL を案内
USDC < 1.1(send-usdcSKIP 記録 + USDC コントラクトアドレスを案内
ウォレット未設定(policySKIP 記録 + kova init 案内

出力例(レポート)

## kova テスト結果 — 2026-05-04 14:30 - ウォレット: (自動解決) - CLI: 0.1.0 - テストネット: Base Sepolia | テスト | 結果 | 詳細 | |---|---|---| | send-eth | PASS | txHash: 0xabc... | | send-usdc | PASS | txHash: 0xdef... | | policy | PASS | POLICY_DENIED 確認済み | | guard | PASS | INTERACTIVE_INPUT_REQUIRED 確認済み | ### 手動確認が必要な項目 - [ ] send-eth: https://sepolia.basescan.org/tx/0xabc... でトランザクションを確認 - [ ] send-usdc: https://sepolia.basescan.org/tx/0xdef... でトランザクションを確認 ### クリーンアップ (テスト専用ウォレットは存在しないため、クリーンアップ不要)

エラーハンドリング

CLI が見つからない

kova: command not found

pnpm install 後に pnpm --filter @komlock_lab/kova build を実行するか、packages/cli/QUICKSTART.md の手順でセットアップしてください。

ウォレット未設定エラー

kova wallet infoWALLET_NOT_FOUND を返す場合は、kova init でウォレットをセットアップしてから再実行してください。

エラーコード対処
WALLET_NOT_FOUNDkova init を実行してウォレットをセットアップする
INTERACTIVE_INPUT_REQUIREDTTY 環境で実行する(owner-only 操作は非 TTY で構造的に block される)

関連項目

Last updated on