Jade アプリケーションの単体テストを支援するために、人々はどのような手法と設計戦略を使用してきましたか? 特に、Agent インスタンスと Jade 環境に密接に結合されている Behavior のテストは、通常どのように行われますか? JadeMXプロジェクトのことは知っていますが、これはシステム テスト、特に協力エージェント間のメッセージ交換を対象としているようです。
ありがとう。
Jade アプリケーションの単体テストを支援するために、人々はどのような手法と設計戦略を使用してきましたか? 特に、Agent インスタンスと Jade 環境に密接に結合されている Behavior のテストは、通常どのように行われますか? JadeMXプロジェクトのことは知っていますが、これはシステム テスト、特に協力エージェント間のメッセージ交換を対象としているようです。
ありがとう。
JADE は継承を使いすぎる傾向があり、ご指摘のとおり、結果として (とりわけ) 結合度が高く、テストが困難な動作になります。
仕事では、エージェント/動作と JADE の間に位置する適応層を作成し、動作を分離してテストできるようにしました。これを OSS としてリリースする予定ですが、最初に飛び越えなければならない管理上のフープがいくつかあります。
自宅では、動作ロジックに単体テスト可能な POJO を使用する JADE の下位互換性のあるリファクタリングであるjade-oo の作業を開始しました。まだほとんどアルファ段階ですが、これまでのところ、ボイラープレート コードがはるかに少なく、テスト可能なロジックがはるかに多いビヘイビアーを生成することができました。
更新: jade-ooサイトに例とドキュメントを追加しました。ぜひご覧になって、感想をお聞かせください。