【问题标题】:Powermock throwing Class Not Found Exception for Test class测试类的Powermock抛出类未找到异常
【发布时间】:2017-12-25 00:10:24
【问题描述】:

我正在使用带有 Ant 构建和 Spring 3.0 的 PowerMock。当我使用 SpringJunit4ClassRunner 注释时,测试运行良好。但是当我用PowerMockRunnerDelegate 实现PowermockRunner (1.6.5) 时,跑步者无法检测到测试类本身。

@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。异常从未改变。

【问题讨论】:

    标签: spring junit mockito powermock powermockito


    【解决方案1】:

    您的生产类似乎不是测试类路径的一部分。我认为问题在于您的build.xml。请查看 JUnit 的 "Getting started – Ant" 文章。

    【讨论】:

      猜你喜欢
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多