В моем приложении Spring Boot у меня есть служебный класс, который я использую несколько мест в разных сервисах. Утилита, расположенная в src/main/java/com/blueprint/bookings/util/AccountUtil.java, выглядит следующим образом:
Код: Выделить всё
package com.blueprint.bookings.util;
... IMPORTS ...
public final class AccountUtil {
private AccountUtil() throws UnsupportedOperationException {
throw new UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
public static Account getAccountFromRequestDto(RequestDto requestData) {
... CODE ...
}
public static UserEntity getUserEntityFromAccount(Account account) {
... CODE ...
}
}
Обратите внимание, что служебный класс не имеет аннотаций. Я пробовал аннотировать, используя как @Component, так и @Service, но это привело к сбою всех остальных тестов (в настоящее время только контроллера).
Я хочу написать модульные тесты для этот класс и методы. Это то, что я сделал до сих пор - находится в src/test/java/com/blueprint/bookings/util/AccountUtilTest.java:
Код: Выделить всё
package com.blueprint.bookings.util;
... LOCAL IMPORTS ...
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.Assert.assertEquals;
@RunWith(SpringRunner.class)
@SpringBootTest
public class AccountUtilTest {
@Test
void testGetAccountFromRequestDto() throws Exception {
... CREATE TEST OBJECT "testRequestDto" ...
Account resultAccount = AccountUtil.getAccountFromRequestDto(testRequestDto);
... ASSERTIONS WITH "assertEquals" ...
}
@Test
void testGetUserEntityFromAccount() throws Exception {
... CREATE TEST OBJECT "testAccount" ...
UserEntity resultAccount = AccountUtil.getUserEntityFromAccount(testAccount);
... ASSERTIONS WITH "assertEquals" ...
}
}
Я попробовал удалить все тесты, кроме этих, а затем вижу в консоли, что также указано, что эти тесты выполняются. не убежать.
Код: Выделить всё
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Подробнее здесь: https://stackoverflow.com/questions/791 ... ss-not-run