Как я могу установить значения из файла для имитации объекта для тестирования - PullRequest
0 голосов
/ 06 августа 2020

Я новичок в Junit и Mockito, и у меня есть этот класс для теста

package com.service;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import com.util.RemoteProperties;

@ExtendWith( MockitoExtension.class )
public class ServiceImplTest{

    @InjectMocks
    ServiceImpl service;
    static RemoteProperties        propertiesExterno;
    
    @BeforeAll
    static void loadMockProperties(){
        propertiesExterno = null; //should I load here maybe the object with the data from the properties file?
    }

    @DisplayName( "test mock properties object" )
    @Test
    public void testMockObjectForProperties() throws DBException{

         Assertions.assertEquals( "-2", propertiesExterno.idt2Code );
    }
}

И есть этот класс, который в контексте Spring, когда приложение запущено, имеет все переменные из свойств

package com.util;

import java.io.Serializable;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class RemoteProperties implements Serializable {
    private static final long serialVersionUID = 1L;

    @Value("${idt2.code}")
    public String idt2Code;

    @Value("${idt2.msj}")
    public String idt2Msj;

//Note this class don't have getters and setters (maybe I should refactor in all legacy code?), that I think is a problem for Mock :(
}

Я не знаю, как установить все значения из файла application.properties для тестирования

application.properties

idt2.code=-2
idt2.msj=Error in remote service

этот код использует spring 3.1.0.RELEASE, и я провожу его тесты с помощью junit 5.6.2

Пожалуйста, помогите Как я могу проверить файлы свойств, может быть, есть что-то, что поможет мне загрузить данные из properties в макет, который я использую в своем тесте

Спасибо!

...