Size: a a a

2020 April 22

MA

Maksim Andryushchenkov in atinfo chat
Dina Draguzya
в этой ситуации соглашусь с вашими разработчиками, у меня  такое же видение(по крайней мере, это справедливо для текущего проекта). возможно, если они не хотят писать юнит, их можно привлечь к интеграционным?)
Это не текущая ситуация у меня на проекте, а вести с полей, что называется, но допускаю то, что и я когда то с этим столкнусь. Привлечь скорее всего это невыполнимая задача))
источник

R(

Roman (rpwheeler) in atinfo chat
Sergei
В большинстве случаев автомейшена берут не умные советы слушать а дыру затыкать, что обойдется дешевле, чем напрягать этой темой девелоперов
Или нет. Например если автомейшена на затыкание дыр (системных проблем) не хватит.

Потом, известный аргумент "за пирамиду" и feedback loop -- самые низкоуровневые проверки чаще всего самые быстрые.
источник

MA

Maksim Andryushchenkov in atinfo chat
Sergei
В большинстве случаев автомейшена берут не умные советы слушать а дыру затыкать, что обойдется дешевле, чем напрягать этой темой девелоперов
Часто даже не зная документации или хотя-бы эталонного поведения, тут да
источник

MA

Maksim Andryushchenkov in atinfo chat
Roman (rpwheeler)
Или нет. Например если автомейшена на затыкание дыр (системных проблем) не хватит.

Потом, известный аргумент "за пирамиду" и feedback loop -- самые низкоуровневые проверки чаще всего самые быстрые.
Я уже и не помню когда последний раз видел пирамиду эту. Вроде и хочешь и пишешь как надо, но потом прибегает ПМ и говорит что надо срочно вот это и все тут, пиши)
источник

R(

Roman (rpwheeler) in atinfo chat
Maksim Andryushchenkov
Товарищи, есть вопрос и возможно он холиварный, но интересно ваше мнение. Все мы проверяем логику приложения в апи тестах, геты, сеты, возможно в базу кто-то лезет с проверкой после запроса апи. Как определить ту грань, при которой реализация проверки бизнес логики превращается в повторение кода приложения, но уже в самом тесте? И правильно ли это?
Я бы по-другому ставил вопрос, не про грань. Мы пишем для проверок какую-то логику. Сколько мы на это тратим, чего мы из этого получаем и что оно нам даёт?

Местами логика автоматизации может быть сложнее логики работы приложения: например, разные игровые боты. Но если это даёт некий выигрыш (автоматические проверки ночью) -- то для этой логики "сложнее приложения" может быть оправдание.
источник

MA

Maksim Andryushchenkov in atinfo chat
Roman (rpwheeler)
Я бы по-другому ставил вопрос, не про грань. Мы пишем для проверок какую-то логику. Сколько мы на это тратим, чего мы из этого получаем и что оно нам даёт?

Местами логика автоматизации может быть сложнее логики работы приложения: например, разные игровые боты. Но если это даёт некий выигрыш (автоматические проверки ночью) -- то для этой логики "сложнее приложения" может быть оправдание.
Нет, я хотел именно про повторение логики приложения, это намного чаще бывает, чем ваша ситуация
источник

R(

Roman (rpwheeler) in atinfo chat
Maksim Andryushchenkov
Нет, я хотел именно про повторение логики приложения, это намного чаще бывает, чем ваша ситуация
Я выше дал эпизод когда было даже не повторение, а копирование. :)

А как может выглядеть это повторение? :)
источник

MA

Maksim Andryushchenkov in atinfo chat
Ну например всякая фильтрация сущностей
источник

R(

Roman (rpwheeler) in atinfo chat
Maksim Andryushchenkov
Ну например всякая фильтрация сущностей
А оно в формате "заданный ввод и вывод" не работает?
источник

MA

Maksim Andryushchenkov in atinfo chat
Roman (rpwheeler)
А оно в формате "заданный ввод и вывод" не работает?
Есть набор сущностей и есть параметры запроса, на выходе проверка того, что сущности пришли в правильном количестве и порядке
источник

MA

Maksim Andryushchenkov in atinfo chat
Это же повторение в чистом виде
источник

MA

Maksim Andryushchenkov in atinfo chat
Или заранее определять кейсы и тогда реализовывать логику не надо
источник

R(

Roman (rpwheeler) in atinfo chat
Maksim Andryushchenkov
Или заранее определять кейсы и тогда реализовывать логику не надо
Ну вот это кажется о чём я спрашиваю -- заданный ввод и вывод.

Не самому ж фильтрацию писать.
источник

IB

Ildar Bekmansurov in atinfo chat
Это если база сущностей статична
источник

MA

Maksim Andryushchenkov in atinfo chat
Ildar Bekmansurov
Это если база сущностей статична
Что бывает тоже крайне редко
источник
2020 April 23

СС

Сказочный Сникерс in atinfo chat
Maksim Andryushchenkov
Товарищи, есть вопрос и возможно он холиварный, но интересно ваше мнение. Все мы проверяем логику приложения в апи тестах, геты, сеты, возможно в базу кто-то лезет с проверкой после запроса апи. Как определить ту грань, при которой реализация проверки бизнес логики превращается в повторение кода приложения, но уже в самом тесте? И правильно ли это?
А куда деваться. Я в своем проекте где один микросервис требует для работы другой микросервис вообще пишу мок второго микросервиса с полной его логикой, сам перед тестом кладу в него данные и подсовываю его первому
источник

СБ

Сергей Блохин in atinfo chat
Maksim Andryushchenkov
Товарищи, есть вопрос и возможно он холиварный, но интересно ваше мнение. Все мы проверяем логику приложения в апи тестах, геты, сеты, возможно в базу кто-то лезет с проверкой после запроса апи. Как определить ту грань, при которой реализация проверки бизнес логики превращается в повторение кода приложения, но уже в самом тесте? И правильно ли это?
В данном случае — тесты фиксируют состояние текущей версии API. API изменяется, а тесты — нет. Если после изменения API тесты падают, значит что-то пошло не так. Вполне нормальная практика.
источник

MA

Maksim Andryushchenkov in atinfo chat
Всем спасибо, если кратко резюмировать - это нормальная практика, многие с этим живут.
источник

S

Sergei in atinfo chat
жизнь - боль)
источник

ВГ

Валентин Гаевой in atinfo chat
Всем привет !
Нужна помощь
Делаю бота для сайта на Selenium + C#  с простеньким функционалом,  я в этом деле  только учусь)))
Вот пример что я пытаюсь сделать
driver.Navigate().GoToUrl("URL1");
driver.FindElement(By.XPath("//*[@itemprop='price']/@content")) Копировать контент из данного Xpath
driver.Navigate().GoToUrl("URL2");
driver.FindElement(By.Name("Input1")).Clear();
driver.FindElement(By.Name("Input"))Вставить из прошлого Xpath.();  
За ранние спасибо за помощь.
источник