メインコンテンツまでスキップ

Scenamatica


このプロジェクトは現在開発中です

このソフトウェアはまだ開発中であり, 機能は API や頻繁に変更される可能性があります。
また, このドキュメントは古くなっている可能性もあります。

概要

Scenamaticaは, PaperMC プラグインに特化したエンドツーエンドのテスト自動化フレームワークです。 YAML で予め定義されたマルチシナリオのテストにより, プラグイン機能の正常性と異常性を自動的に検証します。 Scenamaticaの活用により, リグレッションテストをスピーディに実施でき, PaperMCプラグインの開発にエンジニアが集中できるようになります。
このプロセスにより, プラグインの品質が向上し, ユーザーと開発者, 両者にとってより優れたエクスペリエンスが提供されます。 また, 既存の CI/CD パイプラインと統合することで, プラグインの品質を継続的に監視できます。

特徴

  • 世界初の PaperMC プラグインに特化したシナリオテスト
    シナリオテストとは, プラグインの操作や出力をシナリオ化し, 問題なく動作するかを確認するテストです。
    Scenamatica は, PaperMC プラグインでシナリオテストの自動化を世界初で実現しました。
  • YAML で定義されたシナリオ
    YAML でシナリオを定義することで, シナリオの可読性を高め追加・変更を容易にします。 面倒なテストコードを書く必要はないため, プログラマでなくてもテストを追加できます。
  • CI/CD との統合
    GitHub Actions などの CI/CD に統合することで, プラグインの品質を継続的に監視できます。 プルリクエストをマージする前にテストの成功を要求できます。

対応環境

要件要件名摘要
OSWindows, Linux, macOS
Java8 以上Java 11 以上が推奨されていますが, 最低要件は Java 8 です。
PaperMC1.13.2, 1.14.x, 1.15.x, 1.16.x, 1.17.x

入門

詳しくは以下のドキュメントを参照してください:

使用方法

詳しくは以下のドキュメントを参照してください:

姉妹プロジェクト

  • TeamKUNPluginManager TeamKUNPluginManager は, わずかなアクションで安全で簡単にインストールを行うフルマネージド統合プラグインマネージャです。 KPM を既存のサーバ管理フローに統合すれば, GitHub 等のリモートリポジトリや HTTP サーバに登録された依存関係を自動で解決し, 単一のフローとしてプラグインをインストールできます。 また, KPM はオートメーションされた依存関係ツリーをビルドし 不必要なプラグインをわかりやすくリコメンデーションします。
    そのため, 本番環境でのサーバアプリケーションパフォーマンスを継続的に監視したり, 依存関係を最適化するための推奨事項と視覚的な手がかりを提供したりして, サーバの管理をより簡単で安全にします。

スクリーンショット

Run1 Run2
Run3 CI1 CI2 CI2

オープンソース

詳しくは以下のドキュメントを参照してください:

免責事項

Minecraft™ 及びその関連企業との関係について

Minecraft™Mojang AB の登録商標です。 Scenamatica HQ と Scenamatica は, これら関連企業・団体とは一切の関係はなく, また一切公認されていません。

Scenamatica に関する免責事項

我々は, このプロジェクトを通じて Minecraft コミュニティに貢献し, より良い Minecraft 体験を提供することを目指しています。 そのために, このプロジェクトはオープンソースであり, 皆様の貢献を歓迎します。 このプロジェクトは, MIT ライセンスの下で提供されており, 我々は, このライセンスに従い, このプロジェクトを使用することによるいかなる損害に対しても責任を負いません。

データ収集について

我々はこのプロジェクトの改善のために, bStats によるデータ収集を行っています。 このデータは匿名で収集され, その統計は Scenamatica - bStats で確認できます。 収集されたデータは, bStats のプライバシーポリシーに従って保護されます。

送信されるデータには, 以下の基本情報が含まれます。

  • サーバが Scenamatica を使用しているということ
  • サーバの Java バージョン
  • サーバの PaperMC バージョン
  • サーバの OS
  • サーバ・システムのアーキテクチャ
  • サーバのプレイヤ(アクター)数
  • サーバの地理的位置(国)
  • サーバのオンラインモード
  • サーバの IP アドレス(レート制限のためだけに使用されます)

Scenamatica では, 追加で以下の情報を収集しています。

  • テストの実行数
  • CI 環境であるかどうか
備考

テスト・シナリオの内容や, その実行結果に関する情報は収集されません。
また全てのデータは匿名で収集され, 個人を特定できる情報は含まれません。

データ収集に同意しない場合は, plugins/bStats/config.yml にある enabledfalse に設定することで, 収集を停止できます(オプトアウト)。