0
PowerMockをAntビルドとSpring 3.0で使用しています。 SpringJunit4ClassRunner
注釈を使用したとき、テストは正常に動作します。しかしPowerMockRunnerDelegate
でPowermockRunner
(1.6.5)を実装したとき、ランナーはTestingクラス自体を検出できませんでした。Powermock throw Classテストクラスの例外が見つかりません
@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のPowerMock jarとJunit 4.12,4.11を使って試しました。例外は決して変更されませんでした。