Skip to content

Conversation

@gollilla
Copy link
Contributor

KeystoneCoreの単体テスト環境を整備しました。

追加内容

テストフレームワーク

  • Vitestをセットアップ
  • vitest.config.tsでモックとエイリアスを設定
  • package.jsonにテストスクリプトを追加

モックライブラリ

  • @minecraft/serverのモック(Player, World, System, Vector3)
  • @minecraft/server-uiのモック(ActionFormData, ModalFormData, MessageFormData)
  • テストユーティリティ(createTestPlayer, tickSystem, expectVector3Equal等)

ユニットテスト

  • Vector3のテスト(37テスト - 全て成功)
  • AxisAlignedBBのテスト(24テスト - 全て成功)
  • Timerのテスト(15テスト - サンプル実装)
  • EventManagerのテスト(9テスト - サンプル実装)
  • Formのテスト(12テスト - サンプル実装)

ドキュメント

  • tests/README.md: テストの書き方とモックの使い方

テストの実行方法

npm test              # 全テストを実行
npm run test:watch    # ウォッチモード
npm run test:ui       # テストUI
npm run test:coverage # カバレッジ付き

特徴

  • 公開API中心のテスト(ユーザー目線)
  • Minecraft APIに依存しない独立したテスト
  • 再利用可能なモックとヘルパー関数

claude and others added 2 commits January 16, 2026 04:00
KeystoneCoreの単体テスト環境を整備しました。

## 追加内容

### テストフレームワーク
- Vitestをセットアップ
- vitest.config.tsでモックとエイリアスを設定
- package.jsonにテストスクリプトを追加

### モックライブラリ
- @minecraft/serverのモック(Player, World, System, Vector3)
- @minecraft/server-uiのモック(ActionFormData, ModalFormData, MessageFormData)
- テストユーティリティ(createTestPlayer, tickSystem, expectVector3Equal等)

### ユニットテスト
- Vector3のテスト(37テスト - 全て成功)
- AxisAlignedBBのテスト(24テスト - 全て成功)
- Timerのテスト(15テスト - サンプル実装)
- EventManagerのテスト(9テスト - サンプル実装)
- Formのテスト(12テスト - サンプル実装)

### ドキュメント
- tests/README.md: テストの書き方とモックの使い方

## テストの実行方法
```bash
npm test              # 全テストを実行
npm run test:watch    # ウォッチモード
npm run test:ui       # テストUI
npm run test:coverage # カバレッジ付き
```

## 特徴
- 公開API中心のテスト(ユーザー目線)
- Minecraft APIに依存しない独立したテスト
- 再利用可能なモックとヘルパー関数
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants