如何在 Java 中使用 PowerMockito 模拟接口


req1(an object of request type 1)
req2(an object of request type 2)

    class response{
        public TxnResp txnResp(){ 
            TxnResp txnResp = service.txn(req1 , req2);
            return txnResp;
       }
    }

我在 junit 测试中使用 Powermockito 进行模拟。

"txn"是一个接口。我需要在我的测试课TxnResp txnResp = service.txn(req1 , req2);模拟这句话。因为调用txn是从 Web 服务返回一些值,这些值在下一行中指定。

txnResp包含以下值存储号,零售商ID和密码。它有自己的 bean 类,因此我们可以设置如下值txnResp.setStoreId(1);

任何人都可以帮我模拟上面的接口"txn"并将值返回给txnResp.

我被困在里面最后 5 个小时。任何帮助将不胜感激。

在我看来,

在您的情况下,简单的Mockito就足够了。

如果service是注入的依赖项(通过构造函数,setter,即(,您可以尝试以下操作:

public class ResponseTest{
   @InjectMocks
   private Response response;
   @Mock
   private Service serviceMock;
   @Before
   public void init(){
      MockitoAnnotations.initMocks(this);
   }
   @Test
   public void test(){
        // Arrange
        TxnResp txnResp = new TxnResp(...);
        Mockito.doReturn(txnResp).when(serviceMock).txn(
           Mockito.any(ReqType1.class), Mockito.any(ReqType2.class));
       // Act and assert...      
   }
}

相关内容

  • 没有找到相关文章

最新更新