Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GoogleSearchTest {
- @Test
- public void searchTextAndAsserResults() {
- /*
- searchAndFollowLink - будет точнее)
- */
- open("https://google.com/");
- searchField("Selenium automates browsers");
- /*
- просто search - точнее отражает то, что мы делаем
- */
- assertSearchResults(10);
- /*
- а тут - assertResultsCount(10) - тоже было бы точнее
- про Search - я бы уже не уточнялась - т к название тест-класса + тест-метода
- */
- assertSearchResults(0, "Selenium automates browsers");
- /*
- тут проверяем - не результатЫ
- а результат
- assertResult - будет ок
- */
- followLink(0);
- /*
- а где проверка?
- мы перешли по линке
- и?
- уже тест прошел - если тест не упал на followLink(0);
- даже если открывшаяся страница будет другой - этот тест прошел
- да и нам нужен был е2е - один тест-метод
- */
- }
- @Test
- public void assertSeleniumOfficialPage() {
- $("#sidebar>p>strong").shouldHave(exactText("Selenium is a suite of tools"));
- Assert.assertEquals("http://docs.seleniumhq.org/", url());
- }
- /*
- эти проверки - делай не как отдельный тест-метод
- а как часть одного тест-метода
- в jUnit - не гарантируется порядок запуска тест-методов
- да и это хорошо и правильно
- думаю, пояснения выше - уже прояснили немного - почему плохо делать етст-методы зависимыми
- разрывать действия и проверки на разные тест-методы - вообще не стоит
- тест = и действие и его проверка
- JUnit - реализован так, что порядок запуска тест-методов - случаен
- https://github.com/junit-team/junit4/wiki/test-execution-order
- можно конечно - и задать порядок запуска
- но - это bad practice - т к это - не эффективно, да и ненадежно
- https://youtu.be/yyzGP2CyMRM
- вот это видео Николая Алименкова - советую смотреть и пересматривать
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment