久久久久久久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(模擬;使用列表調用驗證方法,忽略列表中元素的順序)
主站蜘蛛池模板: 精品国产一区二区三区免费 | 日韩高清一区 | 日韩精品在线一区 | 久久亚洲春色中文字幕久久久 | 日韩免费一区二区 | 日本一区二区三区四区 | 91精品国产综合久久婷婷香蕉 | 国产乱码精品1区2区3区 | 久久久成人动漫 | 黄色片在线观看网址 | 国产高清久久久 | 精品日韩欧美一区二区 | 中文字幕在线视频免费观看 | 欧洲成人午夜免费大片 | 亚洲综合一区二区三区 | 国产999精品久久久久久绿帽 | 日本不卡免费新一二三区 | 亚洲视频在线观看免费 | 亚洲一区在线日韩在线深爱 | 青青久久 | 国产一区二区在线视频 | 亚洲欧美bt| 国内久久精品 | 国产精品欧美日韩 | www.狠狠干| 青青草免费在线视频 | 亚洲成人精品国产 | 亚洲网在线 | 成人影院免费视频 | 日本精品视频在线 | 欧美群妇大交群中文字幕 | 亚洲a视频 | 亚洲自拍偷拍欧美 | 亚洲国产精久久久久久久 | 欧美福利视频 | 成人在线日韩 | 国产福利91精品一区二区三区 | 国产精品视频www | 国产精品不卡 | 日日夜夜精品免费视频 | 久久av资源网|