Size: a a a

2020 February 05

RK

Roman K in Java & Co
JUnit изобретаете?
источник

Y

Yuriy in Java & Co
Это тестнг.
источник

Y

Yuriy in Java & Co
хочу избежать дублирования кода.
источник

RK

Roman K in Java & Co
Ну вообще - в случае неуспешного теста надо не дочерние методы запускать, а свистать наверх разработчиков, пусть тесты чинят
источник

RK

Roman K in Java & Co
Тесты должны быть зеленые целиком.
источник

RK

Roman K in Java & Co
Сам факт того, что ты решаешь эту проблему, показывает что в понимании назначения тестов что-то не так.
источник

Y

Yuriy in Java & Co
Сейчас я сделал для каждого ребенка свой @AfterMethod но єто не оч єффективно - более правильно біло бі сделать для BaseTest один общий  @AfterMethod которій и будет делать процедуру - OnFailedMethod.
источник

Y

Yuriy in Java & Co
Нет. смісл в другом. Запуская кучу тестов я сделал фикстуру которая віолняет 1 раз общую навигацию на "точку входа в тест", что позволил ускорит тесті в 2 раза...
но возникла проблема что в случае падения одного теста (по причине ошибки, или предположим таймаут соединения.. да разніх причин) все последующие тесты тоже падают... вот я и хочу оставить фикстуру (то есть тесты будут работать быстро) но вренуть тестам независимость (чтобы падение одного не вызывало автоматически падение остальных.
источник

Y

Yuriy in Java & Co
Я даже больше скажу - я эту задачу решил - но вижу что можно сделать лучше. - для этого надо в родительский  @AfterMethod  передавать ссылку на выделенный метод ребенка.
источник

RK

Roman K in Java & Co
А в два раза - это со скольких минут до скольких?
источник

Y

Yuriy in Java & Co
60 против 35
источник

RK

Roman K in Java & Co
Я ни фига не понял, но мне претит сама идея "в случае падения теста запускать ещё что-то". Тесты упали - всё, пиздец, вызывайте разработчиков. Чем раньше тем лучше.
источник

Y

Yuriy in Java & Co
Roman K
Я ни фига не понял, но мне претит сама идея "в случае падения теста запускать ещё что-то". Тесты упали - всё, пиздец, вызывайте разработчиков. Чем раньше тем лучше.
Тест сьют сейчас идет скажем 1,5 часа.  тестов там 150+ (будет скажем 500+ идти будет 4 часа.)
Падение одного теста єто конечно можно считать "пиздецом"... но важно знать реальный его масштаб.
то есть неправильно когда время работы слишком большое и неправильно если падение одного теста (изза дисконнекта на 5 сек ) вызывает цепное падение еще 10 + тестов..
источник

RK

Roman K in Java & Co
Запуская кучу тестов я сделал фикстуру которая віолняет 1 раз общую навигацию на "точку входа в тест", что позволил ускорит тесті в 2 раза...
=====
Вот это выглядит для меня как "я взял кучу независимых тестов, которые тестировали каждый своё, и сделал их зависимыми друг от друга. Теперь я хочу сделать их снова независимыми, но по-другому"...
источник

Y

Yuriy in Java & Co
да.
источник

Y

Yuriy in Java & Co
в случае нормлаьной работы это ускоряет их работу в 2 раза. в случае падения - валит пачкой. Валит пачкой - потому что при падении мы остаемся на "незапланированной странице браузера". Логика тестов осталась независимой.  Надо добавить в логику автотестов возможность в случае падения перенавигироваться на точкувхода в тест.
источник

RK

Roman K in Java & Co
А если в Before прописать логику проверки, на запланированной ли мы странице, и если нет - то перемещение на запланированную страницу выполнить?
источник

Y

Yuriy in Java & Co
Roman K
А если в Before прописать логику проверки, на запланированной ли мы странице, и если нет - то перемещение на запланированную страницу выполнить?
можно. но этот код, будет выполняться всегда.  лучше обработать только те случаи когда произошло падение 1 теста.
источник

RK

Roman K in Java & Co
зато этот код тебе гарантирует, что тест начниает с определенного состояния, а не заниматься какой-то левой чехардой по перехвату эксепшенов в многопоточной среде.
источник

Y

Yuriy in Java & Co
Roman K
зато этот код тебе гарантирует, что тест начниает с определенного состояния, а не заниматься какой-то левой чехардой по перехвату эксепшенов в многопоточной среде.
падение тесті не візівает єксепшна. Это обычная ситуация в тесте.
Среда не многопоточная.
Перехват состояния уже реализован. в самом фреймворке.
источник