Рубрики
Без рубрики

EasyMock Имитирует исключения, EasyMock ожидает и выдает пример, обработка исключений EasyMock и насмешка, EasyMock JUnit утверждает пример кода.

EasyMock Имитирует исключения, EasyMock ожидает и выдает пример, обработка исключений EasyMock и насмешка, EasyMock JUnit утверждает пример кода.

Автор оригинала: Pankaj Kumar.

EasyMock позволяет нам издеваться над исключениями при вызове определенного метода. Мы можем сделать это с помощью и метода Throw() вместе с expect() .

Пример макетного исключения EasyMock

Допустим, у нас есть следующий класс.

package com.journaldev.utils;

public class StringUtils {

	public String toUpperCase(String s) {
		return s.toUpperCase();
	}
}

Вот пример насмешки над StringUtils объектом, а затем заглушить его метод, чтобы бросить Исключение незаконных аргументов .

package com.journaldev.easymock;

import static org.easymock.EasyMock.*;
import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.Test;

import com.journaldev.utils.StringUtils;

public class EasyMockExceptionExample {

	@Test
	public void test() {
		StringUtils mock = mock(StringUtils.class);
		
		expect(mock.toUpperCase(null)).andThrow(new IllegalArgumentException("NULL is not a valid argument"));
		replay(mock);
		
		IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> mock.toUpperCase(null));
		assertEquals("NULL is not a valid argument", exception.getMessage());
		
		verify(mock);
	}
}

Мы используем утверждения JUnit 5 для проверки исключения и его сообщения.