EassyMock實踐 捕獲引數

2021-09-02 09:58:00 字數 864 閱讀 9157

在測試介面過程中,有時我們希望知道自己期望傳入的引數是什麼,以此來判斷傳入引數的正確行,這時就需要用到eassymock的capture方法.該方法能捕獲傳入的引數存放到自定義的變數中,然後用捕獲的引數與期望的引數進行對比,從而判斷呼叫介面時使用的引數是否正確.

下面用例子演示一下:

要測試的介面

package

mocktestwithcapture;

public

inte***ce

service

測試的類

package

mocktestwithcapture;

import

static org.junit.assert.*;

import org.easymock.*;

import org.junit.*;

import

static org.easymock.easymock.*;

public

class

testservice ;

//實際呼叫介面傳入的引數是arg和array

mockservice.handle(arg, array);

//捕獲實際傳入的引數

int actual1 =caparg.getvalue();

int actual2= (int

)caparray.getvalue();

//這裡我們將捕獲的引數進行校驗

assertequals(arg, actual1);

assertarrayequals(array, actual2);

verify(mockservice);}}

EassyMock實踐 自定義引數匹配器

雖然easymock中提供了大量的方法來進行引數匹配,但是對於一些特殊場合比如引數是複雜物件而又不能簡單的通過equals 方法來比較,這些現有的引數匹配器就無能為力了。easymock為此提供了iargumentmatcher 介面來讓我們實現自定義的引數匹配器。我們還是用例子來說話 要測試的介面...

c lambda表示式捕獲變數引數

不捕獲任何變數 捕獲外部作用域中所有變數,並作為引用在函式體重使用 捕獲外部作用域中所有變數,並作為副本在函式體重使用 foo 捕獲外部作用域中所有變數,並作為副本在函式體重使用,對於foo按引用捕獲 foo 當作副本捕獲foo,不引入其他變數 this 捕獲當前類中的this指標,讓lambda表...

go語言閉包如何捕獲引數

見 packagemain import fmt funcmain fori rangewhatever part 1 fori rangewhatever part 2 fori rangewhatever i part 3 part 1不必解釋什麼,一目了然,對於part 2,這是典型的乙個go...