私たちは他の開発者が使用するフレームワークを構築しており、今のところ多くの TDD プラクティスを使用しています。どこにでもインターフェースがあり、インターフェースを模擬するよく書かれた単体テストがあります。
ただし、入力クラスのプロパティ/メソッドの一部を内部にする必要があり、フレームワーク ユーザーには表示されないようにする必要があります (オブジェクト Id など)。問題は、インターフェイスがアクセシビリティを記述していないため、これらのフィールド/メソッドをインターフェイスに配置できないことです。
我々は出来た:
- メソッドの最初の行で引き続きインターフェイスとアップキャストを使用しますが、それはインターフェイスの目的を無効にしているようです。
- クラスを入力パラメーターとして使用する -すべてがインターフェイスでなければならないという TDD ルールを破る
- パブリック インターフェイスと内部インターフェイスの間で何らかの変換を行う別のレイヤーを提供する
これに対処するための既存のパターン/アプローチはありますか? TDDの人々は何をすべきだと言っていますか?