1
0

【備忘録】メソッドの返却値を自由に設定する方法

Last updated at Posted at 2024-07-31

はじめに

テストソースの特定メソッドの返却値を自由に設定する方法を下記に記述します。

ソース

本来であれば絶対に通らないルート("失敗ルート")でも返却値を任意に設定することができるので挙動を確認することができます。

junit
public class Simplecode {

    public String stringReturn() {
        return "成功ルート"; 
    }

    public static void main(String[] args) {
        if ("成功ルート".equals(stringReturn())) {
            System.out.println("成功ルート");
        } else {
            System.out.println("失敗ルート");
        }
    }
}

下記設定により、simplecode.stringReturn()を呼び出した際、"テスト"を返却値として返してくれるようになります。

java
import static org.mockito.Mockito.*;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

public class SimpleTest {

    @Mock
    private Simplecode simplecode;

    @BeforeEach
    public void setUp() {
        MockitoAnnotations.openMocks(this);
    }

    @Test
    public void testCalculateMethodReturnsSuccessRoute() {
        // "テスト"を返却値に設定する
        when(simplecode.stringReturn()).thenReturn("テスト");
    }
}

おわりに

仕様の段階でありえない値だったとしてもソースで2重に確認することがあります。
その際のテストにすごく便利で、カバレッジを100%にする際もとても便利でした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0