カテゴリー
投資

mock化

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReaderClass {
    public void readFile(String fileName) {
        try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

import java.io.BufferedReader;
import java.io.IOException;

import static org.mockito.Mockito.*;

public class FileReaderClassTest {

    @Test
    public void testReadFile() throws IOException {
        // モックの作成
        BufferedReader bufferedReader = Mockito.mock(BufferedReader.class);
        when(bufferedReader.readLine()).thenReturn("line1", "line2", null);

        // ファイルリーダーのモックを使用してテスト
        FileReaderClass fileReader = new FileReaderClass();
        fileReader.readFile("dummy_file_path");

        // メソッドが3回呼ばれることを検証
        verify(bufferedReader, times(3)).readLine();
    }
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です