от
Мои тесты слишком медленные, потому что я использую библиотеку конфигураций в своем коде, которая занимает не менее 100 мс каждый раз, когда я что-то устанавливаю или получаю. Я использую Java, а библиотека конфигурации, которую я использую, использует Apache ZooKeeper для хранения данных. Я использовал Mockito и Powermock несколько раз, но никогда не пытался издеваться над внешней библиотекой, и мне было интересно, возможно ли это вообще.
import org.HybridConfiguration;

public class VisitManagerClass {

    private static final String COUNT_ENABLED = "countEnabled";
    private static final String COUNT = "count";

    public static void pageVisited() {
        boolean isCountEnabled = HybridConfiguration.getBooleanValue(COUNT_ENABLED);
        if (isCountEnabled) {
            long currentCount = HybridConfiguration.getLongValue(COUNT);
            HybridConfiguration.setValue(COUNT, Long.toString(currentCount   1));
        }
    }
}
Я ожидал, что смогу смоделировать библиотеку HybridConfiguration, чтобы тесты могли выполняться без каких-либо задержек.              

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

1 Ответ

0 голосов
от
Для этого нужно создать сервис-фасад, который скрывает все API-вызовы config-library / Apache-ZooKeeper за интерфейсом. Ваше приложение взаимодействует только с интерфейсом, и все вызовы методов для config-library / Apache-ZooKeeper выполняются в вашей сервис-реализации. Для тестирования вы можете легко макетировать эту услугу. Для получения более подробной информации см. Архитектура лука     
...