1

タイトルはおそらくあまり明確ではありません。私は次の例を念頭に置いています:

オーセンティケーターオブジェクトは、資格情報を使用してユーザーを認証します。AuthResultオブジェクトを返します。このAuthResultオブジェクトは、認証が成功した、または失敗したことを示します(そうであれば、失敗した理由、たとえばユーザー名が見つかりません)。

テストでこれをどのように表現できますか?'testShouldReturnAuthObjectWithStatusSuccessOnValidLogin'?

4

2 に答える 2

5

testValidLoginIsSuccessfulまたはtestIsSuccessfulOnValidLoginは私には十分なようです。

エラーテストには、 testGetsCustomMessageOnUserNotFoundのようなものを使用できます

メソッド名に実装の詳細を入れないようにする必要があります。

于 2009-08-11T00:11:49.163 に答える
2

これらのテストがどのように実装されているかを確認しないと、命名から観察が過剰に詰め込まれているように見えます。

このテストが失敗した場合、(a) AuthResult オブジェクトが返されなかった、(b) ステータスが「成功」ではなかった、さらに、Authenticator が決してデータベースに接続するか、その他の必要なアクションを実行しますか?

フィクスチャに When_told_to_authenticate_with_valid_credentials という名前を付けて、アサーションを 2 つの異なる観測に分け
ます。 1. should_return_an_AuthResult
2. should_be_successful

サミュエルが正しく提案したように、これらの他のクラスをモックアウトすると、オーセンティケーターが期待どおりに動作していることをさらに規定 でき
ます

于 2009-08-13T04:45:49.753 に答える