Как написать тестовый пример junit для метода Util Class, который вызывает метод Service внутри? - PullRequest
0 голосов
/ 16 мая 2019

Нужно написать тестовый случай junit для метода класса util (TestInit), который вызывает метод service внутри.

Поскольку метод класса util внутри него вызывает метод service, я попытался написать тест junit, имитируя даже вызов службы.Я не уверен, прав я или нет.

@Repository 
public interface TestRepository  extends JpaRepository<Test, Integer> {
}

public interface TestService {
    public Optional<Test> getTestByCode(String code)
}

@Service
public class TestServiceImpl implements TestService {

@Autowired
private TestRepository testRepo;

@Override
public Optional<Test> getTestByCode(String code) {
    return testRepo.findOneByCode(code);
}
}

@Component
public class TestInit {

@Autowired
TestService testService;

private static String value = null;
public boolean isTestAvail() {
    value = testService.getTestByCode("test");
    return value;
}
}


@RunWith(SpringRunner.class)
public class InitTest {

private TestInit testInit;
private static String value = null;

@TestConfiguration
static class InitTestContextConfiguration {

    @Bean
    public TestService testService() {
        return new TestServiceImpl();
    }
}

@Before
public void init() {
    testInit = new TestInit();
    value = "Random";
}

@MockBean
TestService testService;

@MockBean
private TestRepository testRepository;

@Test
public void testIsSettingsAvaliable() {
    when(testRepository.findOneByCode("value")).thenReturn(value);
    when(testService.getTestByCode("Value")).thenReturn(value);
    assertNotNull(testInit.isTestAvail());
}
}

кто-нибудь, пожалуйста, помогите мне написать тестовый пример junit для метода util class (TestInit), который, в свою очередь, вызывает метод service.

...