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를 사용해 보았습니다. 예외는 절대로 변경되지 않았습니다.