Написание модульных тестов может оказаться сложной задачей, и иногда хорошим дизайном приходится жертвовать ради единственной цели — тестируемости. Часто тестируемость соответствует хорошему проекту, но это не всегда так. Например, нельзя использовать финальные классы и методы, частные методы иногда необходимо защищать или без необходимости перемещать соавтору, следует полностью избегать статических методов и т. д. просто из-за ограничений существующих платформ.
PowerMock — это платформа, которая расширяет другие библиотеки макетов, такие как EasyMock, более мощными возможностями. PowerMock использует собственный загрузчик классов и манипуляции с байт-кодом, чтобы обеспечить возможность имитации статических методов, конструкторов, финальных классов и методов, частных методов, удаления статических инициализаторов и многого другого. При использовании специального загрузчика классов не требуется вносить изменения в IDE или серверы непрерывной интеграции, что упрощает внедрение. Разработчики, знакомые с поддерживаемыми макетными платформами, найдут PowerMock простым в использовании, поскольку весь ожидаемый API одинаков как для статических методов, так и для конструкторов. PowerMock стремится расширить существующие API небольшим количеством методов и аннотаций для включения дополнительных функций. В настоящее время PowerMock поддерживает EasyMock и Mockito.
При написании модульных тестов часто бывает полезно обойти инкапсуляцию, поэтому PowerMock включает в себя несколько функций, упрощающих отражение, особенно полезных для тестирования. Это обеспечивает легкий доступ к внутреннему состоянию, но также упрощает частичное и частное издевательство.
Обратите внимание, что PowerMock в основном предназначен для людей с экспертными знаниями в области модульного тестирования. Передача его в руки младшим разработчикам может принести больше вреда, чем пользы.
@PowerMockIgnore
, а также исправлениями ошибок и другими улучшениями. Подробности смотрите в примечаниях к выпуску и журнале изменений.Старые новости
Пожалуйста, прочтите руководство для нового участника перед началом работы.
Присоединяйтесь к списку рассылки здесь, чтобы получать вопросы, отзывы и поддержку.