第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java easymock:調(diào)用模擬時可以調(diào)用另一個方法嗎?

java easymock:調(diào)用模擬時可以調(diào)用另一個方法嗎?

慕田峪4524236 2023-07-13 17:51:09
我想在調(diào)用特定的模擬方法時執(zhí)行一些代碼。mock = EasyMock.createMock(ConListener.class);// Record n Replaymock.Connected();mock.DataSent();EasyMock.replay(mock);sock = createCon(addr, mock)// I want the send to be called only after the mock's Connected() is invoked.sock.send("data");有沒有什么方法可以在調(diào)用模擬時執(zhí)行調(diào)用操作?mock.Connected().Invoke () //something like this? 到目前為止我所擁有的是mock = EasyMock.createMock(ConListener.class);// Record n Replaymock.Connected();mock.DataSent();EasyMock.replay(mock);CompletableFuture<Void> connected = new CompletableFuture<Void>();sock = createCon(addr, new ConListener() {   public void Connected() {      mock.Connected();      connected.complete(null);   }   public void DataSent() { mock.DataSent(); }});connected.get()sock.send("data");想檢查是否有更好、更干凈的方法。
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

我發(fā)現(xiàn)addDelegate可以解決我的問題..不是那么清晰和直觀,但比我以前的方法稍好一些。


interface ConListener {

   void Connected();

   void DataSent(int size);

}


// Having it as a class, so that I can only add stub codes,

// for a particular method and leave the rest.


class TestListener implements ConListener {

   void Connected() {Assert.fail("")}

   void DataSent(int size) {Assert.fail("")}

}



@Test

public void SomeTest() {

   CompletableFuture<Void> connected = new CompletableFuture<Void>();

   mock = EasyMock.createMock(ConListener.class);


   // Record

   mock.Connected();

   EasyMock.expectLastCall().andDelegateTo(new TestListener() {

      public void Connected() {

        connected.complete(null);

      }

   });

  EasyMock.expectLastCall().times(1); // This cannot come before adding delegates. Why?

  EasyMock.replay(mock);


  // Test

  sock = createCon(addr, mock/*using actual mock*/);

  connected.get(timeout, unit);

  sock.send(blahblah);  


}



查看完整回答
反對 回復 2023-07-13
  • 1 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號