私は最近、ユニットテストのテクニックをますます学ぶように自分自身を駆り立ててきましたが、理解できないことに遭遇しました。非常に単純な単一のメソッドでファクトリを単体テストしようとしています。役に立つ人々のために、例の名前を使用して簡略化しました。
public class HandlerFactory extends SecondHandlerFactory
{
//To hold singleton of this class.
private static SecondHandler factoryInstance = null;
private HandlerFactory() throws HandlerCreationException
{
super();
}
protected InterfaceExample createSomethingByThisKey(String key) throws HandlerCreationException
{
InterfaceExample myNewHandler = null;
if (StringFunctions.isEqualIgnoreCase(key, "Phone"))
{
myNewHandler = new PhoneHandler();
}
}
}
createSomethingByKey() に陥るようにこのテストをセットアップする方法を理解するのに大きな問題があります。それでも、自分の assertEquals() メソッドを正しく実行する方法を理解することさえできません。
現在、createInstance(); を実行するための準備が整っています。しかし、これに陥る方法については、私には何も意味がないようです。追加された変数とインターフェースは、私をここで混乱させています。テストするのは簡単なようで、非常に短いクラスですが、これにさらされていないこと (Java は私の最初の言語でさえありません) は、私が乗り越えるのが難しい壁のようなものです)。
これらすべてを設定する方法について、標準の JUnit または Mockito を設定する方法についてのヘルプはありますか (実際には関係ありません)。また、適切な標準は単体テストを別のパッケージに含めることであるため、保護されているという事実は私をさらに無知にしています。