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

使用 Mockito,我如何驗(yàn)證一個(gè)方法是用某個(gè)參數(shù)調(diào)

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

問題描述

我正在使用 Mockito 1.9.0.我將如何驗(yàn)證一個(gè)方法是否只被調(diào)用了一次,并且傳遞給它的一個(gè)字段是否包含某個(gè)值?在我的 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"調(diào)用方法m_orderSvc"(傳遞給對象的參數(shù)之一).m_orderSvc"又包含一個(gè)成員字段m_contractsDao".我想驗(yàn)證m_contractsDao.save"是否被調(diào)用了一次,并且傳遞給它的參數(shù)是否包含某個(gè)值.

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.

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

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

推薦答案

首先你需要創(chuàng)建一個(gè)m_contractsDao并進(jìn)行設(shè)置.假設(shè)類是 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 并調(diào)用您的方法.

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(); 

最后,驗(yàn)證 mock 是否被正確調(diào)用:

Finally, verify that the mock was called properly:

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

這篇關(guān)于使用 Mockito,我如何驗(yàn)證一個(gè)方法是用某個(gè)參數(shù)調(diào)用的?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

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

相關(guān)文檔推薦

How to mock super reference (on super class)?(如何模擬超級參考(在超級類上)?)
Java mock database connection(Java 模擬數(shù)據(jù)庫連接)
Mockito ClassCastException - A mock cannot be cast(Mockito ClassCastException - 無法投射模擬)
Set value to mocked object but get null(將值設(shè)置為模擬對象但獲取 null)
How to mock DriverManager.getConnection(...)?(如何模擬 DriverManager.getConnection(...)?)
Mockito; verify method was called with list, ignore order of elements in list(模擬;使用列表調(diào)用驗(yàn)證方法,忽略列表中元素的順序)
主站蜘蛛池模板: 国产成人精品一区二区在线 | 奇米久久久| 久草网站 | 午夜一区 | 99精品国产一区二区三区 | 久久尤物免费一区二区三区 | 欧美日韩一区在线观看 | 久久久久久久久久久爱 | 黄色大全免费看 | 九九精品在线 | 国产一区2区 | 天天干天天玩天天操 | 精品国产一级 | 天天色官网 | 一区二区视频 | 国产亚洲欧美在线 | 一区二区伦理电影 | 99精品视频免费观看 | 国产精久久久 | 久久精品亚洲精品国产欧美 | 超碰最新在线 | 久久久久网站 | 在线国产精品一区 | 国产高清在线 | 蜜桃综合在线 | 欧美日韩国产在线观看 | 91视视频在线观看入口直接观看 | 国产高清精品在线 | 国产高清精品一区二区三区 | 日韩中文字幕一区 | 久久天天躁狠狠躁夜夜躁2014 | 欧美综合久久 | 97久久精品| 91精品国产综合久久福利软件 | 国产色在线 | 国产视频精品视频 | 81精品国产乱码久久久久久 | 精品一区在线 | 免费精品| 欧美视频1区 | 高清视频一区二区三区 |