julia_v_iluhina

Untitled

Nov 23rd, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.91 KB | None | 0 0
  1. public class GoogleSearchTest {
  2.  
  3.     @Test
  4.     public void searchTextAndAsserResults() {
  5.     /*
  6.         searchAndFollowLink - будет точнее)
  7.     */
  8.  
  9.         open("https://google.com/");
  10.  
  11.         searchField("Selenium automates browsers");
  12.         /*
  13.             просто search - точнее отражает то, что  мы делаем
  14.         */
  15.  
  16.         assertSearchResults(10);
  17.         /*
  18.             а тут - assertResultsCount(10) -  тоже было бы точнее
  19.  
  20.             про Search - я бы уже не уточнялась - т к название тест-класса + тест-метода
  21.         */
  22.  
  23.         assertSearchResults(0, "Selenium automates browsers");
  24.         /*
  25.             тут проверяем - не результатЫ
  26.             а результат
  27.  
  28.             assertResult - будет ок
  29.  
  30.  
  31.         */
  32.  
  33.         followLink(0);
  34.  
  35.         /*
  36.  
  37.             а где проверка?
  38.  
  39.             мы перешли по линке
  40.             и?
  41.  
  42.             уже тест прошел - если тест не упал на followLink(0);
  43.             даже если открывшаяся страница будет другой - этот тест прошел
  44.  
  45.             да и нам нужен был е2е - один тест-метод
  46.         */
  47.     }
  48.  
  49.     @Test
  50.     public void assertSeleniumOfficialPage() {
  51.         $("#sidebar>p>strong").shouldHave(exactText("Selenium is a suite of tools"));
  52.         Assert.assertEquals("http://docs.seleniumhq.org/", url());
  53.     }
  54.     /*
  55.         эти проверки - делай не как отдельный тест-метод
  56.         а как часть одного тест-метода
  57.        
  58.         в jUnit - не гарантируется порядок запуска тест-методов
  59.         да и это хорошо и правильно
  60.        
  61.         думаю, пояснения выше - уже прояснили немного - почему плохо делать етст-методы зависимыми
  62.         разрывать действия и проверки на разные тест-методы - вообще не стоит
  63.         тест = и действие и его проверка
  64.        
  65.         JUnit  - реализован так, что порядок запуска тест-методов - случаен
  66.             https://github.com/junit-team/junit4/wiki/test-execution-order
  67.        
  68.             можно конечно - и задать порядок запуска
  69.             но - это bad practice - т к это  - не эффективно, да и ненадежно
  70.        
  71.             https://youtu.be/yyzGP2CyMRM
  72.             вот это видео Николая Алименкова - советую смотреть и пересматривать
  73.     */
  74.  
  75. }
Advertisement
Add Comment
Please, Sign In to add comment