Как проверить сервис maven, который нуждается в другом сервисе в java? - PullRequest
0 голосов
/ 30 января 2020

Я два дня искал ответ. Я пробовал @Mock, @InjectMock и @Spy с разными дополнительными функциями, но ничего не получалось, как это было описано в руководствах. Многие вопросы, которые я нашел, касались проблемы в Angular, это мой первый проект с использованием Spring-Boot / Maven и никогда не работал с Angular.

У меня есть служба Basi c для некоторых значений. хотите иметь возможность меняться только там, но нуждаетесь в них в нескольких других сервисах. Я написал сокращенный пример базовой структуры, которую хочу протестировать, и включил обходной путь, который нашел на данный момент, но хотел бы знать, как опытные программисты go об этом.

У меня есть моя служба конфигурации:

@Service
public class ConfigService {
    private final int initialLength = 4;

    public int getInitialLength() {
        return initialLength;
    }

    public double getInitialSquared() {
        return Math.pow(4,2);
    }

}

И еще одна служба, использующая ее:

@Service
public class OtherService {

    @Autowired
    ConfigService configService;

    // How I surpassed it for now is overloading and only testing the second function
    String printLine() {
        return printLine(configService.getInitialLength());
    }

    String printLine(int length) {
        StringBuilder output = new StringBuilder();
        for (int i = 0; i < configService.getInitialLength(); i++) {
            output.append("-");
        }
        return output.toString();
    }

}

И мой тест на данный момент:

class OtherServiceTest {

    @InjectMocks
    OtherService otherService = new OtherService();

    @Test
    void printLine() {
        AssertEquals("----", OtherService.printLine(4));
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...