探索單元測試系列(3) Mockito的簡單使用

定義

      mock是在測試過程中,對於一些不容易構造/獲取的對象,創建一個mock對象來模擬對象的行爲。

意義

    傳統的單元測試需要保證程序的每一個部分都是就緒的,完整的和可用的。直到程序的各個部分被完全開發完才能進入測試階段。mock提供了隔離測試的概念,假設A依賴B,只需要將B進行mock,返回期望的結果,就可以讓A進行一次完整的單元測試。

三個步驟

   1. mock一個假對象;

   2. 定義假對象的行爲;

   3. 調用假對象的方法,執行定義好的假行爲

   4. 驗證結果是否正確

maven引入:

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>1.10.19</version>
            <scope>test</scope>
        </dependency>

實踐 

package com.example.demo.mock;

import org.junit.Test;
import org.mockito.Mockito;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName MockTest
 * @Author zhaoguang
 * @Date 2019/12/14
 * @Version 1.0
 */
public class MockTest {

    @Test
    public void test(){
        List list = Mockito.mock(ArrayList.class); //mock一個假對象
        Mockito.when(list.toString()).thenReturn(new ArrayList<String>().toString()); //定義行爲
        Assert。assertTrue("[]".equals(list.toString())); //執行並驗證結果
    }
}

詳細使用內容參考:mockit基礎使用

發佈了119 篇原創文章 · 獲贊 23 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章