Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ToDoMvcTest {
- @Test
- public void taskWorkFlow() {
- open("https://todomvc4tasj.herokuapp.com/");
- add("a");
- editTaskCancel("a", "a edited");
- /*
- прошлый вариант имени - cancelEdit
- был значительно лучше
- что делаем = отменяем + что отменяем
- про Task - не уточняем, как и в именах других методов-действий -
- ведь в этом приложении мы работаем только с тасками
- см https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.2pvr3ijzfuho
- */
- assertTasksAre("a");
- toggleAll();
- assertItemsLeft(0);
- /*
- assertItemsLeft(0); - недостаточная проверка
- нужно еще проверить - что список тасок содержит таску a
- */
- filterActive();
- assertVisibleTasksEmpty();
- add("b");
- editTaskSubmit("b", "b edited");
- /*
- это как раз - просто edit
- посмотрела на реализацию
- */
- toggle("b edited");
- assertVisibleTasksEmpty();
- filtercompleted();
- /*
- не забывай про CamelCase
- правильно - filterCompleted
- https://google.github.io/styleguide/javaguide.html#s5.3-camel-case
- */
- assertTasksAre("a", "b edited");
- /*
- спорный вопрос - какой метод тут лучше использовать
- assertTasksAre или assertVisibleTasksAre
- представь - прошло время - ты чуть подзабыл свой код
- или кто-то другой
- решил доработать этот сценарий
- и к этому моменту - у нас те же видимые таски, но есть еще и не видимая
- смею тебя уверить - какое-то время человек будет тупить
- почему на проверке assertTasksAre тест падает
- чтоб такого не происходило - лучше на фильтрах active & completed
- делать проверки отфильтрованного списка тасок - всегда
- это как раз к недостаткам варианта - когда у тебя 4 проверки
- да, точно максимально
- но теперь - надо думать - когда какую проверку вызвать
- и думать - не только про сейчас
- но и про то, как это будет сопровождаться
- рекомендую на фильтрах active & completed
- делать проверки отфильтрованного списка тасок - всегда
- это будет более KISS
- настаивать не буду - это в общем-то зона субъективных решений
- понимать это - надо в любом случае)
- */
- /*
- к сценарию вопросов нету
- есть парочка - к проверкам
- парочка - к неймингу
- это поправь
- */
- ***************************
- private void clearcompleted() {
- /*
- CamelCase
- правильно - clearCompleted
- */
- ****************************************************
- private SelenideElement editTaskStart(String oldText, String newText) {
- private void editTaskSubmit(String oldText, String newText) {
- private void editTaskCancel(String oldText, String newText) {
- /*
- реализация методов - ок
- а с неймингом - надо еще доработать
- когда называем метод - начинаем с главного = что делаем
- editTaskStart
- что делаем = стартуем редактирование = startEdit
- про Task - не уточняемся, также, как и для других методов-действий
- ведь мы действия выполняем в этом приложении только над тасками
- editTaskSubmit
- что делаем = подтверждаем редактирование через нажатие на энтер
- в принципе - это и есть редактирование
- edit - достаточно точно
- editTaskCancel
- что делаем = отменяем редактирование = cancelEdit
- oldText & newText
- Мы для текстов тасок - уже применяем термин taskText
- и тут не будем для того же понятия добавлять новых терминов
- oldTaskText & newTaskText - будет точнее
- */
- **************************
- private void assertItemsLeft(int tasksCount) {
- /*
- реализация - ок
- имя параметра
- если кратко - то count достаточно
- а если хочется пояснить - то правильнее activeTasksCount
- tasksCount - не совсем это так - закомпличеные таски в это количество не засчитываются
- только активные
- */
- ****************************************
- private void assertTasksAre(String... taskTexts) {
- tasks.shouldHave(exactTexts(taskTexts)).findBy(visible);
- }
- /*
- читаем код
- tasks.shouldHave(exactTexts(taskTexts)) - проверили тексты в коллекции tasks
- tasks.shouldHave(exactTexts(taskTexts)).findBy(visible) - получили первую видимую таску в коллекции tasks
- вопрос - зачем нам эта первая видимая таска?
- */
- *************************************
- private void filtercompleted() {
- /*
- CamelCase
- правильнее - filterCompleted
- */
Advertisement
Add Comment
Please, Sign In to add comment