テスト駆動開発を使用してWeb-GUIを開発する方法に興味があります。
特に、(もちろん自動的に...)テスト可能にするためにWebフロントエンド(つまりHTML)を設計する方法に関するガイドライン/ヒント/ベストプラクティスがあるかどうか知りたいですか?(従来のUI開発では、TDDと自動テストをサポートするMVVCなどのパターンがあります)
テスト駆動開発を使用してWeb-GUIを開発する方法に興味があります。
特に、(もちろん自動的に...)テスト可能にするためにWebフロントエンド(つまりHTML)を設計する方法に関するガイドライン/ヒント/ベストプラクティスがあるかどうか知りたいですか?(従来のUI開発では、TDDと自動テストをサポートするMVVCなどのパターンがあります)
具体的なガイドラインはわかりませんが、通常は、クリーンでセマンティックなHTMLを記述し、CSSクラスとIDを適切に使用するだけで十分です。
デスクトップ開発の場合と非常によく似たWeb開発のパターンです。しかし、それは大きなものであり、Webはステートレスです。これは当たり前のように聞こえますが、テストの境界を明確に定義していると思います。
Web用のMVCには、多くの人気のある化身があります。ただし、一部のWebテクノロジーでは、純粋なUI(HTML、CSSなど)をコードから分離するのは困難です。ビューがパッシブである(イベントに応答せず、再バインドされない)ことを除けば、MVVMに似たMVPアプローチにいつでも頼ることができます。これらのパターンは、アプリケーションのメインUIロジックをカバーする必要があります。これらのパターンはすべてTDDで使用できます。
その後、レベルを上げたい場合は、Seleniumのようなツールを使用します。これらのツールを使用すると、WebUIとのユーザーインタラクションの記録/再生が可能になります。ただし、何気なく使用すると、レイアウトが変更されたときに壊れてしまう脆弱なテストにつながる可能性があります。
お役に立てれば。