> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ja/gaido/developer-guide/testing.md).

# ブロックのテスト

テストは適切に行わないと難しくなることがあるため、作成したブロックをテストする際は実践的なアプローチを推奨します。ブロックはエコシステム内で単独の要素ではないため、テストは複雑に見えるかもしれませんが、適切な方法論があれば管理可能になります。

新しいブロックを追加する際は、次のアプローチを推奨します：

* **単体テスト** では以下を対象にすべきです：
  * マニフェストの解析、特にエイリアスを使用している場合。
  * ブロックモジュール内のユーティリティ関数。正しく記述されていれば、これらの関数は入力データを出力データへ単純に変換するだけなので、テストしやすくなります。
  * この `run(...)` このメソッドは、テストの組み立てが容易な場合にのみ単体テストで検証すべきです。それ以外の場合は、そのブロックを含むワークフロー定義の統合テストに重点を置くことを推奨します。
  * 例は以下で確認できます [こちら](https://github.com/roboflow/inference/tree/main/tests/workflows/unit_tests/core_steps)
* **統合テスト** では以下を含めるべきです：
  * ブロックが他の要素と連携して使用される実用的なユースケース
  * 結果に対するアサーション、特に **モデル予測**。これらのアサーションは、予測を可視化して確認するなど、実証的な検証に基づくべきです。
  * 外部ソース（例：オープンソースモデル）からモデルや推論手法を採用する場合、アサーションでは、結果が Workflows エコシステム外で得られるものと一致していることを確認し、互換性と正確性を担保すべきです。
  * 例は以下で確認できます [こちら](https://github.com/roboflow/inference/tree/main/tests/workflows/integration_tests/execution)
