日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mock java_JAVA的mock工具mockito简介

發布時間:2023/12/4 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mock java_JAVA的mock工具mockito简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在測試過程中,難免會碰到交互的外圍系統不給力的情況,這時候mock就派上用場了,前段時間跟同學聊到這塊的時候,他向我推薦mockito這個mock工具,試用了一下,確實很好用,這里給大家介紹下這款工具:

1、mockito的特點

它既能mock接口也能mock實體類(咱測試框架mock工具也能做到)

簡單的注解語法-@Mock

簡單易懂,語法簡單

支持順序驗證

客戶化參數匹配器

2、mockito的配置

只需依賴jar包即可:

org.mockito

mockito-all

test

1.8.5

2、mockito的用法

注解的方式:

只需在要mock的對象上添加@Mock即可,如:

public class ArticleManagerTest {

@Mock private ArticleCalculator calculator;

@Mock private ArticleDatabase database;

@Mock private UserProvider userProvider;

private ArticleManager manager;

不使用注解:

//要mock的實體類

LinkedList mockedList = mock(LinkedList.class);

//模擬方法調用的返回值

Mockito.when(mockedList.get(0)).toReturn("first");

Mockito.when(mockedList.get(1)).toThrow(new RuntimeException());

//打印出"first"

System.out.println(mockedList.get(0));

//拋出異常

System.out.println(mockedList.get(1));

//返回null,因為還沒有對返回值做模擬

System.out.println(mockedList.get(999));

3、參數匹配器

//使用anyInt()來匹配任意int型參數

Mockito.when(mockedList.get(anyInt())).toReturn("element");

//可以使用自己定義的匹配器 (isValid()是自定義的參數匹配器):

Mockito.when(mockedList.contains(argThat(IsValid()))).toReturn("element");

public class IsValid extends ArgumentMatcher {

@Override

public boolean matches(Object argument) {

if (argument instanceof String) {

return true;

} return false;

}

}

總結

以上是生活随笔為你收集整理的mock java_JAVA的mock工具mockito简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。