2017-12-25 7 views
0

PowerMock을 Ant 빌드 및 Spring 3.0과 함께 사용하고 있습니다. SpringJunit4ClassRunner 주석을 사용했을 때 테스트가 잘 진행됩니다. 그러나 PowerMockRunnerDelegate으로 PowermockRunner (1.6.5)을 구현할 때 러너는 Testing 클래스 자체를 감지하지 못했습니다.Powermock 던지고있는 클래스를 찾을 수 없음 테스트 클래스의 예외

@Named("teskListTest") 
@RunWith(PowerMockRunner.class) 
@PowerMockRunnerDelegate(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations={"classpath:conf/TestBeans.xml"}) 
@PrepareForTest(SysList.class) 
public class SysListTest { 

SysList sysList; 

@Test 
public void addSysWithIdTest() throws Exception { 

    System.out.println("SysListTest : Entering addSysWithIdTest "); 

    java.util.logging.Logger log = Mockito.mock(java.util.logging.Logger.class); 
    sysList = new SysList(log); 
    Component comp = Mockito.mock(Component.class); 
    PowerMockito.whenNew(Component.class).withNoArguments().thenReturn(comp); 
    sysList.test(); 
    Mockito.verify(comp).getId(); 

    System.out.println("sysListTest : Exiting addsysWithIdTest"); 
} 

내가 얻을 예외입니다 :

[junit] Running com.example.unittest.SystemTestSuite 
[junit] Testsuite: com.example.unittest.SystemTestSuite 
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.02 sec 
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.02 sec 
[junit] 
[junit] Testcase: initializationError took 0.002 sec 
[junit]  Caused an ERROR 
[junit] com.example.tasktest.SysListTest 
[junit] java.lang.ClassNotFoundException: com.example.tasktest.SysListTest 
[junit]  at java.lang.Class.forName(Class.java:219) 
[junit]  at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:161) 
[junit]  at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:48) 
[junit]  at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:113) 
[junit]  at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:71) 
[junit]  at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32) 
[junit]  at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:34) 
[junit]  at java.lang.reflect.Constructor.newInstance(Constructor.java:539) 
[junit]  at java.lang.reflect.Constructor.newInstance(Constructor.java:539) 
[junit]  at java.lang.reflect.Constructor.newInstance(Constructor.java:539) 
[junit] 
[junit] Test com.example.unittest.TaskTestSuite FAILED 

내가 Mockito 1.9.5, 1.10.16 사용했습니다. 버전 1.6.1 및 1.6.5 및 Junit 4.12, 4.11에서 PowerMock jar를 사용해 보았습니다. 예외는 절대로 변경되지 않았습니다.

답변

0

프로덕션 클래스가 테스트 클래스 경로의 일부가 아닌 것 같습니다. 문제가 귀하의 build.xml라고 생각합니다. JUnit의 "Getting started – Ant" 문서를 살펴보십시오.

관련 문제