久久久久久久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(模擬;使用列表調用驗證方法,忽略列表中元素的順序)
主站蜘蛛池模板: 在线第一页 | 亚洲高清在线 | 7777精品伊人久久精品影视 | 福利社午夜影院 | 亚洲视频免费在线观看 | 涩涩导航 | 久久综合99 | 欧美精品片 | 免费观看一级毛片 | 99re在线视频| 日本a视频 | 日本高清视频网站 | 黄色片免费看视频 | 国产97碰免费视频 | 国产成视频在线观看 | 国产大学生情侣呻吟视频 | 久久亚洲国产精品日日av夜夜 | 亚洲一区二区三区免费观看 | 精品免费 | 国产亚洲精品久久久久久牛牛 | 91精品国产91久久综合桃花 | 精品在线一区 | 亚洲一区二区三区免费在线观看 | 亚洲伊人精品酒店 | 精品欧美激情在线观看 | 欧美精品一区二区三区四区五区 | 国产精品成人69xxx免费视频 | 草草视频在线免费观看 | 国产精品久久久久久久久久久久久 | 久久这里有精品 | 伊人超碰 | 免费看啪啪网站 | 亚洲欧美日韩一区二区 | 欧美日韩成人影院 | 国产精品精品视频一区二区三区 | 日韩欧美网| 久久999| 久久久国产精品 | 97热在线 | a a毛片 | 成人亚洲视频 |