天天看點

探索單元測試系列(3) Mockito的簡單使用定義意義三個步驟maven引入:實踐 

定義

      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基礎使用

繼續閱讀