久久久久久久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 | 一级片网址 | 91看片在线观看 | 超碰在线观看免费版 | 日韩在线毛片 | 国产日韩精品在线 | 国产1级片 | 3d动漫精品h区xxxxx区 | 麻豆精品久久 | 久久久久久久免费视频 | a级片久久| 欧美在线不卡 | 国产精品免费av | 看av| 日本亚洲精品 | 91精品视频在线播放 | 久国产 | 亚洲天堂2014| av不卡一区 | 欧美不卡一区二区三区 | 在线观看视频一区二区 | 亚洲综合第一页 | 中文字幕丰满人伦在线 | 国产网站视频 | 中文字幕在线免费视频 | 又黄又爽网站 | 狠狠做深爱婷婷综合一区 | 日日操夜夜 | 国产理论视频 | 成人免费视频一区二区 | 日韩欧美黄色 | 超碰精品在线 | 日韩精品在线观看视频 | 天天综合影院 | 欧美精品三区 | 中文字幕理论片 | 国产三级做爰高清在线 | 欧美不卡一区二区三区 | 精品一区二区三区三区 | 日韩一区二区免费视频 |