julia_v_iluhina

Untitled

Jan 16th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.96 KB | None | 0 0
  1. https://bitbucket.org/testmunk/todomvctest/src/e0e21bacd54b?at=master   http://pastebin.com/9Gu9LbWN
  2.  given(new Task(TaskType.ACTIVE, "a"), new Task(TaskType.COMPLETED, "b"));
  3.  //уже можно проще
  4.   given(new Task(ACTIVE, "a"), new Task(COMPLETED, "b"));
  5. /*
  6.     ведь при других вызовах ты так и делаешь - используешь ACTIVE и COMPLETED
  7.     благодаря import static
  8. */
  9. *************************
  10.  @Test
  11.     public void testClearCompletedAtActive() {
  12.  
  13.         given(new Task(TaskType.COMPLETED, "a"), new Task(TaskType.ACTIVE, "b"));
  14.  
  15. /*
  16.     в имени метода  - указали AtActive
  17.     но в самом методе - работаем на All
  18.  
  19.     проверь все методы на этот счет
  20.     чтоб заявленное в имени тест-метода было реализовано
  21.  
  22.     вот такое же еще тут заметила - testReopenAtCompleted()
  23.     остальное - сам проверь
  24. */
  25. *******************************
  26.     @Test
  27.     public void testClearCompletedAtCompleted() {
  28.  
  29.         givenAtCompleted(ACTIVE, "a");
  30.  
  31.         clearCompletedButton.shouldNotBe(visible);
  32.         assertNoTasks();
  33.         assertItemsLeft(1);
  34.     }
  35. /*
  36.     неожиданно)
  37.  
  38.     в имени метода - говорим - проверим действие clearCompleted
  39.     а сами что проверяли?
  40.  
  41.     вспомни, в каком-то из видео был пример
  42.     как такое низвоприоритетное покрыть = кнопка clearCompleted не видима после выполнения clearCompleted
  43.  
  44.     тут - реализуй именно testClearCompletedAtCompleted()
  45.  
  46. */
  47. *********************************
  48.     @Test
  49.     public void testReopenAllAtCompleted() {
  50.  
  51.         givenAtCompleted(ACTIVE, "a", "b");
  52.  
  53.         toggleAll();
  54.         assertTasks("a", "b");
  55.         assertItemsLeft(0);
  56.     }
  57. /*
  58.     название мтеода - проверяем ReopenAll
  59.  
  60.     вопрос - применяя toggleAll к активным таскам - мы делаем ReopenAll?
  61.  
  62.     проверь все методы - чтоб они делали то, что заявляют
  63. */
  64. **********************************
  65.     public void testSwitchFromAllToCompleted() {
  66.     public void testFromAllToActive() {
  67.     public void testFromActiveToAll() {
  68.     public void testFromActiveToCompleted() {
  69.     public void testFromCompletedToAll() {
  70.     public void testFromCompletedToActive() {
  71. /*
  72.     тянется еще с http://pastebin.com/xXFaxr1c
  73.     строки 75-92
  74.  
  75.     названия тест-методов - сделай единообразными
  76.     они все - тестят SwitchFrom...To....
  77.     вот пусть все так и называются
  78.  
  79.     по нюансам реализации - писала - как точнее проверять переходы по фильтрам
  80.     это надо учесть
  81. */
  82. ***********************************
  83.     public void testCancelEditByEscapeAtActive() {
  84.  
  85.         givenAtActive(ACTIVE, "a");
  86.  
  87.         cancelEdit("a", "b");
  88. /*
  89.     в имени тест-метода - не надо уточняться до ByEscape
  90.     мы ведь этого е делали даже для вспомогательного метода - cancelEdit("a", "b");
  91.  
  92.     причина - только так и можно сделать cancelEdit
  93.     нет других вариантов
  94.  
  95.     в отличие от ConfirmEdit
  96.     там вполне уместно уточниться - ConfirmEditByClickOutside
  97.     т к есть несколько способов выполнить ConfirmEdit
  98. */
  99. *********************************
  100. SelenideElement placeholder = $("#new-todo");
  101. /*
  102.     почему такое странное имя у переменной?
  103.  
  104.     почему не newTodo ?
  105. */
  106. *************************
  107. SelenideElement clearCompletedButton = $("#clear-completed");
  108. /*
  109.     не нужна такая переменная тебе)
  110.     писала выше почему
  111. */
  112. *****************************
  113. public class TodoMVCTest extends BaseTest {
  114. /*
  115.     наследование подправил
  116.     это ок
  117.     но зачем оставил в проекте класс - AtTodoMVCPageWithClearedDataAfterEachTest
  118.     ( src / test / java / ua / net / itlabs / hw3 /)
  119.     ?
  120.  
  121.     он не нужен
  122.     более того - там застряли старые ошибки
  123.     удаляй AtTodoMVCPageWithClearedDataAfterEachTest
  124. */
  125. *********************************
  126. public class BaseTest {
  127.    @Before
  128.     public void openPage() {
  129.         ensureCorrectURL();
  130.     }
  131.  
  132. ....
  133.     @Step
  134.     public void ensureCorrectURL() {
  135.         String todoMvcUrl = "https://todomvc4tasj.herokuapp.com/";
  136.         if (!todoMvcUrl.equals(url()))
  137.             open(todoMvcUrl);
  138.     }
  139. /*
  140.     мы с тобой уже обсуждали это
  141.  
  142.     встрой вызов метода  ensureCorrectURL() - в гивен-метод
  143.     вот в этот - public void given(Task... tasks)
  144.     этот метод - в остальных гивен-методах переиспользуется
  145.     и значит - такое действие - ensureCorrectURL()
  146.     будет выполняться в начале каждого из гивен-методов
  147.  
  148.     перенеси метод ensureCorrectURL() из BaseTest
  149.     в тот класс где гивены реализованы
  150.  
  151.     таким образом - у BaseTest
  152.     останется одна задача - делать скриншоты и их аттачить к репорту
  153.  
  154.     и это хорошо и правильно
  155.     не надо на один класс - навешивать разные цели и ответственности
  156.     погугли Single Responsibility Principle
  157. */
Advertisement
Add Comment
Please, Sign In to add comment