0
私はテストするためにいくつかの醜いクラスを持っている、私はそれを変更することはできないことを認めなければならない。だから、問題の根底に立ちましょう。そのメソッドが他のメソッドの中で呼び出されたかどうかをテストする方法
私はこのように、1つのかなり長い静的メソッドで、クラスを持っている:私はいくつかの要求がある場合、それが呼び出すparamsは、ことをテストしたい、そして、
public class SomeClass{
public SomeClass(){
}
public static String Dispatch(HttpServletRequest request){
String param1= request.getParameter("param1");
String param2 = request.getParameter("param2");
Factory factory = // .. some Bean, used as Factory
// lot, lot if.. else statements that returning smth based on params
if(param1.equalsIgnoreCase("smthParam1")){
if(param2.equalsIgnoreCase("smthParam2")){
factory.getInstance().invokeSmth();
} else if(param2.equalsIgnoreCase("smthParam2_2")){
factory.getAnotherObjectInstance().invokeSmth();
} else if(param2.equalsIgnoreCase("smthParam2_3")){
factory.getYetAnotherObjectInstance().invokeSmth();
}
}
// More if.. else statements...
return "Error";
}
}
工場からのシングルトン法。
どうすればいいのかわかりませんが、できますか?元のコードは変更できないことに注意してください。手伝ってくれてありがとう。
修正できない場合、見つけたバグは修正できません。バグを修正できない場合は、なぜそれをテストするのですか? – Raedwald