[jmockit]的withEqual

jmockit还是0.999的版本,确实还不够细致,比如,如果在withEqual前有具体的,就会有问题,因为withEqual是增加了一个比较器
 protected final <T> T withInstanceOf(Class<T> argClass)
   {
      addMatcher(new IsInstanceOf(argClass));
      return null;
   }


这个比较器是不完美的,没有记录当前需要比较记录目前的参数的顺序,会导致比较的参数不对


MockClz.oneMethod("1111", "2222",
                    withInstanceOf(XxxClz.class), (Logger) any);


这时候,会错误java.lang.AssertionError: Parameter 0 of java.util.List
因为比较的是XxxClz,而是实际运行传入的第0个参数的值("1111")

所以需要改成

MockClz.oneMethod(withEquel("1111"), withEquel("2222"),
                    withInstanceOf(XxxClz.class), (Logger) any);


你可能感兴趣的:(java)