小编Nih*_*ash的帖子

如何在要测试的类中模拟抽象类方法

有一个abstract

public abstract class BaseProcessor {
 public BooksTransaction getBooksTransaction() {
        return booksTransaction;
    }
}
Run Code Online (Sandbox Code Playgroud)

还有一个final class要使用Junit进行测试

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;
}
}
Run Code Online (Sandbox Code Playgroud)

我尝试监视BaseProcessor模拟 getBooksTransaction对象的方法return 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(); …
Run Code Online (Sandbox Code Playgroud)

java unit-testing junit4 mockito spy

5
推荐指数
1
解决办法
2743
查看次数

标签 统计

java ×1

junit4 ×1

mockito ×1

spy ×1

unit-testing ×1