我有一个类处理一个字符串,并对它执行许多操作。重构揭示私有方法进行单元测试
这些操作需要按特定顺序完成。
例子:
public String process(String stringToProcess) throws Exception {
processedString = process1(processedString);
processedString = process2(processedString);
processedString = process3(processedString);
processedString = process4(processedString);
...
processedString = process10(processedString);
...
return processedString;
}
我敢肯定有一个更好的方式来重构这个使它更清洁,但最重要的,我希望能够单元测试过程1,过程2等
请注意,process1,2等...可以是2线方法还是大方法。
我需要处理方法以某种方式公开来测试它们。有没有可以实现这一目标的设计模式?
我想过使用枚举来实现这一点,但我认为这是以某种方式使它更容易混淆。这个实现并不是最好的,但一眼就知道发生了什么。
编辑:这种方法对我来说不算太坏,但所有的处理方法都应该是私有的。我想单元测试它们。 我看到这个question,所以我可以测试他们,即使是私人的,但第一步是确保它不能做得更好。
有什么问题你目前的做法? –