Arrange, Act, Assert (AAA) паттерн
При написании по данному паттерну код любого Unit теста состоит из 3 частей:
- размещение - инициализация объектов и уснановка данных, передаваемых в тест
- действие - вызов метода для теста с размещенными параметрами
- утверждение - проверка, что метод работает как ожидалось
При такой структуре - улучшается читабельность и восприятие теста.
Использование анонимных классов для написания более простых тестов
Наши классы согластно D из SOLID должны зависеть от интерфейсов. Если нужно протестировать процедуру тестируемого класса, которая вызывает процедуру из вложенного в него интерфейса - то достаточно удобно не мокать все зависимости вложенного интерфейса, а создать анонимный класс, его реализующий:
Но если зависимостей не много - createMock и стандартный флоу UnitTest - лучший выбор… Под капотом будет происходить примерно то же самое.
Источники
Using anonymous classes to write simpler tests https://matthiasnoback.nl/2014/07/a-better-testing-experience/
Comments