2015-05-11 77 views
1

有了这个代码时:ConstructorNotFoundException嘲讽java.sql.Timestemp对象

Timestamp timestamp = PowerMock.createMock(Timestamp.class); 
PowerMock.expectNew(Timestamp.class, new Class[] {Long.class}, System.currentTimeMillis()).andReturn(timestamp); 

我收到此错误:

org.powermock.reflect.exceptions.ConstructorNotFoundException: Failed to lookup constructor with parameter types [ java.lang.Long ] in class java.sql.Timestamp. at org.powermock.reflect.internal.WhiteboxImpl.getConstructor(WhiteboxImpl.java:250) at org.powermock.api.easymock.PowerMock.doExpectNew(PowerMock.java:1825) at org.powermock.api.easymock.PowerMock.expectNew(PowerMock.java:1806)

回答

1

Timestamp需要long,不Long作为构造参数。改为尝试long.class

+0

感谢Kaya的帮助,但是当我打电话给PowerMock.replay(timestamp,Timestamp.class); PowerMock.verify(timestamp,Timestamp.class);那么我得到错误java.lang.AssertionError: 期望验证失败: java.sql.Timestamp(1431344562673):预期:1,实际:0 – kapilcs032