久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

使用 Mockito,我如何驗證一個方法是用某個參數調

Using Mockito, how do I verify a method was a called with a certain argument?(使用 Mockito,我如何驗證一個方法是用某個參數調用的?)
本文介紹了使用 Mockito,我如何驗證一個方法是用某個參數調用的?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在使用 Mockito 1.9.0.我將如何驗證一個方法是否只被調用了一次,并且傳遞給它的一個字段是否包含某個值?在我的 JUnit 測試中,我有

I'm using Mockito 1.9.0. How would i verify that a method got called exactly once, and that one of the fields passed to it contained a certain value? In my JUnit test, I have

@Before
public void setupMainProg() { 
    // Initialize m_orderSvc, m_opportunitySvc, m_myprojectOrgSvc
    ...
    m_prog = new ProcessOrdersWorker(m_orderSvc, m_opportunitySvc, m_myprojectOrgSvc);
}   // setupMainProg

@Test
public void testItAll() throws GeneralSecurityException, IOException { 
    m_prog.work();  
}

方法work"調用方法m_orderSvc"(傳遞給對象的參數之一).m_orderSvc"又包含一個成員字段m_contractsDao".我想驗證m_contractsDao.save"是否被調用了一次,并且傳遞給它的參數是否包含某個值.

The method "work" calls a method of "m_orderSvc" (one of the arguments passed in to the object). "m_orderSvc," in turn contains a member field, "m_contractsDao". I want to verify that "m_contractsDao.save" got called exactly once and that the argument passed to it contains a certain value.

這可能有點令人困惑.讓我知道如何澄清我的問題,我很樂意這樣做.

This may be a little confusing. Let me know how I can clarify my question and I'm happy to do so.

推薦答案

首先你需要創建一個m_contractsDao并進行設置.假設類是 ContractsDao:

First you need to create a mock m_contractsDao and set it up. Assuming that the class is ContractsDao:

ContractsDao mock_contractsDao = mock(ContractsDao.class);
when(mock_contractsDao.save(any(String.class))).thenReturn("Some result");

然后將 mock 注入 m_orderSvc 并調用您的方法.

Then inject the mock into m_orderSvc and call your method.

m_orderSvc.m_contractsDao = mock_contractsDao;
m_prog = new ProcessOrdersWorker(m_orderSvc, m_opportunitySvc, m_myprojectOrgSvc);
m_prog.work(); 

最后,驗證 mock 是否被正確調用:

Finally, verify that the mock was called properly:

verify(mock_contractsDao, times(1)).save("Parameter I'm expecting");

這篇關于使用 Mockito,我如何驗證一個方法是用某個參數調用的?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to mock super reference (on super class)?(如何模擬超級參考(在超級類上)?)
Java mock database connection(Java 模擬數據庫連接)
Mockito ClassCastException - A mock cannot be cast(Mockito ClassCastException - 無法投射模擬)
Set value to mocked object but get null(將值設置為模擬對象但獲取 null)
How to mock DriverManager.getConnection(...)?(如何模擬 DriverManager.getConnection(...)?)
Mockito; verify method was called with list, ignore order of elements in list(模擬;使用列表調用驗證方法,忽略列表中元素的順序)
主站蜘蛛池模板: 欧美午夜一区 | 久久亚洲国产精品日日av夜夜 | 日韩精品| 日韩久久网| 国产精品视频久久 | 韩国av电影网 | 在线视频国产一区 | 日日操日日干 | 亚洲午夜视频在线观看 | 亚洲国产中文字幕 | 久久精品国产99国产精品亚洲 | 热久久性| 亚洲欧美视频一区二区 | 久操伊人| 久久久久国产一区二区三区四区 | 中文字幕不卡 | 久久久久久一区 | 在线中文字幕视频 | 亚洲精品视频在线观看免费 | 久在草 | 91视视频在线观看入口直接观看 | 午夜精品久久久久久不卡欧美一级 | 日韩免费在线观看视频 | 精品日韩一区二区三区 | 五月天天色 | 亚洲一区二区三区视频免费观看 | 成人免费视频网站在线看 | 综合激情久久 | 久久国产精99精产国高潮 | 超碰97av | 亚洲精品一区二区三区蜜桃久 | 日韩欧美中文字幕在线视频 | 性欧美精品一区二区三区在线播放 | 国产成人91视频 | 青青草久久 | 色片在线观看 | 国产精品久久久久久久久久 | 色欧美片视频在线观看 | 国产欧美精品在线 | 91网视频 | 国产一区欧美一区 |