最近,我一直在推动自己学习越来越多的单元测试技术,但遇到了一些我无法弄清楚的事情——即如何开始。我正在尝试使用非常非常简单的单一方法对工厂进行单元测试。我已经使用示例名称为您有帮助的人简化了它。
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 的任何帮助(真的没关系)如何设置所有这些?此外,受保护的事实让我更加无能为力,因为正确的标准是将单元测试放在另一个包中。