Привет!
Пишу автотесты для АПИ с помощью FrisbyJS. Уже давно пытаюсь применить какие-то подходы\паттерны, которые я использовал для UI тестов, но все тщетно. Код не стает лучше, по моему мнениею.
В Фризби используется чейнинг, и если начинать все дробить и добавлять какие-то врапперы, например, то приходиться “создавать велосипед заново”. Вот есть функция для проверки Хидера, которая чейнится с реквеста, все что нужно - добавить .expect('header', headerName, headerValue)
.
А если пытаюсь все это завраппить - нужно создавать новый инстанс класса, передавать в него респонс, в респонсе искать хидер, и писать новое сравнение с Chai, что в итоге превращает ту же проверку хидера в
const verify = new ClassWithVerifications(response); verify.expectHeaderToBe(headerName, headerValue);
. А это еще + класс, конструктор, методы, дробление респонса…
Как тут применять ООП? Какие паттерны есть именно для структуры кода?
Я нашел всякие Builder\Factory\Controller паттерны, но Билдер и Фактори это просто работа с Объектами, а Контроллер является чем-то вроде враппера, который собирает риквест.
Нужно ли в таких фреймворках, как Фризби, пытаться добавить какой-то дизайн сверху? Если да - зачем пишутся такие фреймворки, которые нужно допиливать\перепиливать, чтобы подходило?
Или я пытаюсь натянуть сову на глобус?
Помогите, пожалуйста) Направьте, куда нужно
Спасибо!