当我从他们最新的2.0.3 Beta jar中使用Mockito时,我得到了org.objenesis.ObjenesisStd类的类找不到异常

时间:2015-01-13 06:54:27

标签: junit mockito

我正在尝试测试Tomcat上运行的基于Web的普通servlet。

我刚从他们的github repo克隆了Mockito并构建了它并得到了mockito-core-2.0.3-beta.jar。

我将这个jar添加到我的项目中,当我使用它时如下

@RunWith(MockitoJUnitRunner.class)
public class DailyEmailSenderTest {

private ArrayList<MailVO> mails;

@Mock
private SqlDatabaseAccess db;
@BeforeClass
public static void setUpBeforeClass() throws Exception {

}

@AfterClass
public static void tearDownAfterClass() throws Exception {
}

@Before
public void setUp() throws Exception {
}

@After
public void tearDown() throws Exception {
}

@Test
public void testGetMailsListFromDB() {
    fail("Not yet implemented");
}
}

我得到了一个未找到类的异常

java.lang.NoClassDefFoundError: org/objenesis/ObjenesisStd
Caused by: java.lang.ClassNotFoundException: org.objenesis.ObjenesisStd
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

1 个答案:

答案 0 :(得分:1)

你需要的不仅仅是mockito-core jar。如果你看看maven central中的pom,它会显示对hamcrest-core 1.1和它的依赖:

<dependency>
  <groupId>org.objenesis</groupId>
  <artifactId>objenesis</artifactId>
  <version>2.1</version>
  <scope>runtime</scope>
</dependency>

如果您还将这些jar添加到类路径中,那应该是好的。