Как покрыть поля stati c модульными тестами с помощью mock? - PullRequest
0 голосов
/ 16 июня 2020
public class CacheAdder{

private static final int HARD_CACHE;

static {
    HARD_CACHE = 22;
    try {
        TimeUnit.SECONDS.sleep(3);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
  public int divide(int number, int divider) {
         return  (int) HARD_CACHE+number/divider;
    }
}

Когда я имитирую и запускаю тесты через этот примерный класс, mockito пропускает часть stati c, что имеет смысл, потому что я имитирую значение HARD_CACHE, но в то же время я хочу 100% покрытие через код. Стоит ли тестировать поля stati c без моков? Или есть способ проверить stati c поля / методы / переменные с помощью моков?

1 Ответ

0 голосов
/ 16 июня 2020

Один из способов сделать это - использовать отражение для установки значения в поле stati c

Вы можете посмотреть здесь: Mock private stati c final field с помощью mockito или Jmockit

...