@PrepareForTest(DataAccessorFactory.class)
@ContextConfiguration(locations = { "/test_jooq-spring.xml" })
public class WorkspaceManagerTest extends AbstractTestNGSpringContextTests {
@BeforeTest
public void setUp() throws Exception {
this.applicationContext = SotsServiceLayerApplicationContext.getContext();
ObjectInstancesFactory.setConnectionFactory(factory);
PropertiesHandler.getInstance().loadPropertiesFile("app.properties");
}
@Test(priority = 1)
public void testgetAllWorkspaces()
{
System.out.println(Thread.currentThread().getStackTrace()[1].getMethodName());
try
{
IDataAccessor ref = Mockito.mock(IDataAccessor.class);
PowerMockito.mockStatic(DataAccessorFactory.class);
Mockito.when(DataAccessorFactory.getInstance(Mockito.anyString())).thenReturn(ref);
Mockito.when(ref.getAllWorkspaces(Mockito.any())).thenReturn(MockedDataModels.getWorkspaceList());
queryparams.setExpand(Arrays.asList("sources","trainresults"));
String output = workspaceManager.getAllWorkspaces(queryparams,mockURIInfo.constructMockURI(mockURIInfo,WorkspaceManager.class));
}
catch(Exception genEx)
{
genEx.printStackTrace();
}
}
}
总是得到这个异常
[Ljava.lang.Object;@415a3f6a
The class com.klatencor.softs.dataaccessor.DataAccessorFactory not prepared for test.
at org.powermock.api.mockito.expectation.reporter.MockitoPowerMockReporter.classNotPrepared(MockitoPowerMockReporter.java:29)
at org.powermock.api.mockito.internal.mockcreation.MockTypeValidatorFactory$DefaultMockTypeValidator.validate(MockTypeValidatorFactory.java:37)
at org.powermock.api.mockito.internal.mockcreation.AbstractMockCreator.validateType(AbstractMockCreator.java:10)
at org.powermock.api.mock
我曾试过添加 ObjectFactory in suite.xml
和重写方法... 在添加@objectFactory注解方法后,创建测试方法的实例异常失败,什么都不行......谁能帮忙解决一下。
你应该扩展 PowerMockTestCase
像这样
@PrepareForTest(DataAccessorFactory.class)
public class WorkspaceManagerTest extends PowerMockTestCase { }