unitils mock 报错~求救啊!!!
在unitils 里mock,junit启动测试用例报错,
java.lang.NoClassDefFoundError: org/objenesis/Objenesis
at org.unitils.mock.core.MockObject.createInstance(MockObject.java:515)
at org.unitils.mock.core.MockObject.<init>(MockObject.java:92)
at org.unitils.mock.MockModule.createMock(MockModule.java:128)
at org.unitils.mock.MockModule.createMock(MockModule.java:123)
at org.unitils.mock.MockModule.createAndInjectMocksIntoTest(MockModule.java:151)
at org.unitils.mock.MockModule$MockTestListener.beforeTestSetUp(MockModule.java:224)
at org.unitils.core.Unitils$UnitilsTestListener.beforeTestSetUp(Unitils.java:273)
at org.unitils.UnitilsJUnit4TestClassRunner$TestListenerInvokingMethodRoadie.runBeforesThenTestThenAfters(UnitilsJUnit4TestClassRunner.java:151)
at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
at org.unitils.UnitilsJUnit4TestClassRunner.invokeTestMethod(UnitilsJUnit4TestClassRunner.java:95)
at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at org.unitils.UnitilsJUnit4TestClassRunner.access$000(UnitilsJUnit4TestClassRunner.java:44)
at org.unitils.UnitilsJUnit4TestClassRunner$1.run(UnitilsJUnit4TestClassRunner.java:62)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at org.unitils.UnitilsJUnit4TestClassRunner.run(UnitilsJUnit4TestClassRunner.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
代码如下:
@SpringApplicationContext( { "bean/billing-spring-*.xml" })
public class InvoiceServiceImplTest extends BaseTest{
@SpringBean("invoiceService")
private InvoiceServiceImpl invoiceService;
Invoice invoice;
Mock<IInvoiceDao> mockInvoiceDao; // Mock objects
@Before
public void setUp() throws Exception {
invoiceService = new InvoiceServiceImpl();
invoice = new Invoice();
invoice.setGuid("321");
invoiceService.setInvoiceDao(mockInvoiceDao.getMock());
}
@After
public void tearDown() throws Exception {
}
@Test
public void testGetInvoice() {
mockInvoiceDao.returns(invoice).getInvoice(null);
Invoice invoice = invoiceService.getInvoice("123");
assertLenientEquals("123", invoice.getGuid());
// matcher
}
}