0

現在、クライアントとサーバー間の接続をテストするための単体テストを作成しています。現時点では、次のテストがあります。isConnectionSuccessful、isDisconnectionSuccesful、および isReconnectionSuccessful。

繰り返しを減らすために、接続されたクライアント用のゲッターを作成しました。getter はクライアントが接続されているかどうかをテストするので、isConnectionSuccesful でも呼び出すことにしましたが、これはクライアントが不必要に返されることを意味します。ただし、他のテストでは、このアプローチは完全に適合しているように見えます。

isConnectionSuccessful の getter から値を割り当てないだけで、このアプローチを使用しても問題ありませんか、それとも設計上の欠陥ですか?

明確にするために、次のテスト/方法があります。

isConnectionSuccessful
//call getConnectedClient

isDisconnectionSuccessful
//call getConnectedClient and assign it
//disconnect logic....

isReconnectionSuccessful
//call getConnectionClient and assign it
//disconnect
//reconnect

getConnectedClient
//instantiate client
//check it is connected
//return client
4

1 に答える 1

1

ここで単体テストの設計について話していると思います。その場合、テストはメイン ソースとは多少異なるルールに従います。テストの主な目標は、テストを簡単に理解できるようにすることと、テスト対象のコードへの変更をサポートするための「セーフティ ネット」を提供することです。getConnectedClientこれらの目標を質問に適用するために、接続チェックを行うことは読者にはすぐにはわからない可能性があるため、isConnectionSuccessfulテストで必要なのはそれだけです。それは、そのテストを別の方法で書くための議論かもしれません。一方、テストの方が理解しやすいと感じた場合は、 の名前を のgetConnectedClientように変更する必要があるかもしれませんconnectClientAndVerifyConnection

于 2012-05-12T15:34:46.180 に答える