これは私が言っているよりも曖昧に聞こえますが、クラスでメソッドをテストする場合、正しいプロセスは何ですか。
たとえば、顧客クラスは、実際のパスワードではなく、設定されたパスワードの md5 ハッシュをデータベースに保存します。顧客クラスのプライベート メソッドは、保存用の md5 ハッシュを計算します。
public class Customer() {
public void setPassword(String password){
this.password = hashPassword(password);
}
private String hashPassword(String password){
..do stuff..
}
.. other methods ..
}
これは単なる例です。md5 ハッシュなどの計算方法については知りたくありません。それはテストに関するものです。これが私が考えることができる私のオプションです:
- hashPassword と同じことを行うテスト クラスにメソッドを作成し、結果を比較します。
- 特定のパスワード (myPassword) の結果がどうなるかを手動で計算し、定数として保存します。テストでパスワードを myPassword に設定した後、定数と結果を比較します。