有一个抽象
类
public abstract class BaseProcessor {
public BooksTransaction getBooksTransaction() {
return booksTransaction;
}
}
还有一个需要使用Junit测试的final class
public final class CreateOrganisationProcessor extends BaseProcessor {
public boolean process() throws Exception { //method to be tested
request = new CreateOrganisationRequest(IntegrationSystems.valueOf(getBooksTransaction().getSource()),
IntegrationSystems.valueOf(getBooksTransaction().getDestination()), getBooksTransaction());
request.setRequestTypes(getRequestTypes());
return true;
}
}
我尝试着窥视BaseProcessor
类,并模拟getBooksTransaction
方法,使其返回BooksTransaction对象
。
代码:
@Test
public void testProcess() throws Exception {
BaseProcessor spy = Mockito.spy(new CreateOrganisationProcessor());
BooksTransaction booksTransaction = new BooksTransaction();
booksTransaction.setReferenceID(DEFAULT_REFERENCE_ID);
Mockito.doReturn(booksTransaction).when(spy).getBooksTransaction();
}
在这里,BooksTransaction
是一个JPA Entity
类。
然而,当我运行测试案例时,模拟似乎没有起作用,它没有返回一个BooksTransaction
对象。
它既没有抛出异常
,也没有任何错误
。
我想知道正确的spy
方法,以便根据我的mock
返回一个BooksTransaction
对象。
我对Mockito
很新,任何帮助都将不胜感激。
谢谢提前。
答案
和/或faq
。 - secondfinal
类会导致一个非常具体的错误消息;而这个错误消息OP并没有得到。 - Eugene