Alistair CockburnのHexagonal Architectureについて興味を持って読んでいます。
彼の主張の1つは次のとおりです。
最後に、自動化された関数回帰テストは、ビジネスロジックをプレゼンテーションレイヤーから除外するという約束の違反を検出します。組織はロジックリークを検出して修正できます。
この点はわかりません。テストはヘッドレスであるため、UIレイヤーを呼び出すと例外がスローされると彼は言っていますか?それは非常に健全なテストではないようです!
Alistair CockburnのHexagonal Architectureについて興味を持って読んでいます。
彼の主張の1つは次のとおりです。
最後に、自動化された関数回帰テストは、ビジネスロジックをプレゼンテーションレイヤーから除外するという約束の違反を検出します。組織はロジックリークを検出して修正できます。
この点はわかりません。テストはヘッドレスであるため、UIレイヤーを呼び出すと例外がスローされると彼は言っていますか?それは非常に健全なテストではないようです!
回答:
彼のポイントは、UIなしですべてのビジネスロジックを実行する一連の自動テストを使用すると、UIにビジネスロジックがあるかどうかが明確になるということです。
このようなテストスイートを作成するには、基本的に、データを提供して結果を確認するための非常に薄いテスト専用の「非ユーザー」インターフェースを作成する必要があります。ビジネスロジックのいずれかが実際にUIにある場合、このテストインターフェースでそのロジックを複製していることに気づき、間違いに気づくでしょう。