2017-12-25 23 views
0

PowerMockをAntビルドとSpring 3.0で使用しています。 SpringJunit4ClassRunner注釈を使用したとき、テストは正常に動作します。しかしPowerMockRunnerDelegatePowermockRunner(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を使って試しました。例外は決して変更されませんでした。

答えて

0

プロダクションクラスがテストクラスパスの一部ではないようです。問題はあなたのbuild.xmlだと思います。 JUnitの"Getting started – Ant"の記事をご覧ください。

関連する問題