Cactus使用注意要点:
除了字符串以外,WebRequest的addParameter方法无法将其他对象放进去,而他又没有像HttpServletRequest的setAttribute的方法,但是对于数组这种对象还是可以通过连续add相同key的方法在WebRequest中形成数组:
req.addParameter("Key", "aaa");
req.addParameter("Key", "bbb");
然後在testXXX()方法中可以将数组取出
Map map = request.getParameterMap();
String[] params = map.get("Key");
如果要放入对象,可以在testXXX里写
//把一个对象放到request里
Object o = new Object();
super.request.setAttribute(o);
注意不要将null放进去,否则会引发NullPointer异常。
在setup方法中实例化被测试类:
public final void setUp() throws Exception {
testClass = new XXXFilter();
testClass.init(config);
}
测试doFilter方法:
public final void testDoFilterSecCodeUserAgent() {
testClass.doFilter();
}
注意1:addParameter方法无法将null放进去,否则会引发NullPointer异常
注意2:如果被测Class程序流程受静态变量影响,则无法在单个测试Class中测试所有的分支,需要分多个Class
注意3:如果测试过程中有需要修改Properties的Case的话,只能将每个此类的Case放到单独的测试类中测试,Tomcat在Cactus执行同一测试类的时候无法将Properties文件重新加载
浙公网安备 33010602011771号