Для справки - http://en.wikipedia.org/wiki/Single_responsibility_principle
У меня есть тестовый сценарий, в котором один модуль приложения отвечает за создание записей в бухгалтерской книге. Есть три основных задачи, которые можно выполнить:
- Просмотр существующих записей главной книги в табличном формате.
- Создать новую запись в книгу, используя кнопку создания.
- Нажмите на запись в таблице (упоминается в первом указателе) и просмотрите подробности на следующей странице. Вы можете аннулировать запись в главной книге на этой странице.
(На каждой странице есть еще пара операций / проверок, но ради краткости я ограничусь ими)
Поэтому я решил создать три разных класса -
- LedgerLandingPage
- CreateNewLedgerEntryPage
- ViewLedgerEntryPage
Эти классы предлагают услуги, которые могут быть выполнены на этих страницах, и тесты Selenium используют эти классы, чтобы привести приложение в состояние, в котором я мог бы сделать определенное утверждение.
Когда я проверял его со своим коллегой, он был переутомлен и попросил меня сделать один урок для всех. Хотя я все еще чувствую, что мой дизайн очень чистый, я сомневаюсь, что я злоупотребляю принципом единой ответственности