Интеграция GWT Mockito
-
22-07-2019 - |
Вопрос
Я пытаюсь настроить и использовать Mockito в проекте GWT, и у меня возникают проблемы с его использованием на стороне клиента (в javascript). Я пытался добавить модуль и включить Mockito, но, похоже, не работает (много ошибок). Я также пытался сделать полную проверку из SVN и таким образом интегрировать GWT, те же ошибки. Как это должно быть сделано? Благодарю. Р>
Решение
GWT-код, протестированный с помощью mocking framework (например, Mockito), запускается в JVM и не компилируется в JavaScript, очевидно Таким образом, любые реализации, связанные с JavaScript, должны быть смоделированы или заглушены с использованием фиктивных объектов.
Одна архитектура, получившая широкое распространение в GWT и упрощающая тестирование, - это MVP (вариант MVC). MVP помещает большую часть значимой функциональности в классы, называемые докладчиками. Докладчики не полагаются на классы реализации GWT, но вместо этого зависят от интерфейсов GWT (в основном). Затем Mockito применяется для макетирования этих интерфейсов в классах презентаторов модульных тестов.
Этот блог полно примеров как для MVP в GWT, так и для тестирования с фиктивными объектами (EasyMock).
Другие советы
А теперь есть https://github.com/google/gwtmockito , который, вероятно, вам нужен необходимо.
Без дополнительных подробностей я могу лишь сказать, что в макетных средах интенсивно используются динамические прокси и генерация кода во время выполнения, которая не будет скомпилирована GWT.
Лучше всего использовать эти макеты в простых тестах JUnit.