Вы не вошли.
В твиттер не напишешь (за впн, неэтично), в мелкий мамский чатик не напишешь (неэтично), в большой мамский чатик не напишешь (неприятно) - остаётся недобложик.
Детёнышу год с лишним. Оно хвост, но общительный.
Я в декрете и хуй его знает, как работать.
Писала, кстати, бота на фандомную битву - теперь надо делать рефакторинг и тесты. Поговорите со мной о тестах.
И вишенка на, блядь, торте - мне пришлось на месяц свалить к родителям, чтобы муж сделал ремонт. Уже начала говорить своему отцу фразы вида "Не пугай мне ребенка, а то я тебя сама испугаю"
Три дня из шести недель прошли.
Отредактировано (2022-03-09 10:28:09)
Писала, кстати, бота на фандомную битву - теперь надо делать рефакторинг и тесты. Поговорите со мной о тестах.
Ты про какие тесты, автоматические или ручные?
На чём пишешь?
На чём пишешь?
Бот на ноде, работает с дискордом и телеграмом (ну, когда не глючит)
Надо бы добавить автоматические тесты перед релизом, а я никогда из не писала и не знаю, как вообще их делать для ботов
Отредактировано (2022-03-09 10:27:40)
Позвонила мужу.
Муж ответил сквозь вытье болгарки
[пилы]
Надеюсь, ремонт успешно начался
в субботу грядет императрица
каждый из нас готов
и гладит котов
каждый нашел кому молиться
В эти темные дни
Тысяча божьих имён
Может быть даже Гарри и Рон
Названы были и услышаны Им
Отредактировано (2022-03-09 10:58:34)
Хочу расширить бота для фб до полноценного. Ну, до более полноценного.
Но не знаю, какой функционал нужен. Задала вопрос целевой аудитории - целевая аудитория тоже не знает
Надо бы добавить автоматические тесты перед релизом, а я никогда из не писала и не знаю, как вообще их делать для ботов
Так же, как для других программ, если есть готовый модель автотестирования, его подключаешь в коде, пишешь функции тестирования с выводом их результатов. Если готового модуля нет, пишешь свои тесты и вывод результатов, это дольше, но не ужас-ужас.
Так же, как для других программ,
Я не совсем понимаю, эээ, что тестировать
На сайтах - понимаю. Делаешь скриншот, сравниваешь с макетом, пугаешься.
А тут?
Прям выполнять функцию, которая должна выполняться по команде? Так она даёт случайные результаты
Просто проверять наличие результата?
ЕБУЧИЕ ГОСУСЛУГИ
И как мне узнать, почему пособие не пособие?
Я не совсем понимаю, эээ, что тестировать
А какой у тебя функционал?
Цель автотестирования в том, чтобы, если ты внёс изменения в код и тебе надо залить содеянное на прод, ты мог легко убедиться, что у тебя работают как надо и не похерились все написанные ранее функции. При этом не прощёлкивая их руками, а, в идеале, просто получив цепочку зелёных огоньков в панельке или ответов "я функция такая-то, работаю" в логах.
Просто проверять наличие результата?
Ну да, и сравнивать результат с образцом, если у тебя перебор или генерация по какому-то правилу.
Если ты закидываешь боту команду "/цвет", а он может тебе рандомно выдать "белый", "серый", "чёрный" через функцию generate_color(), то ты пишешь функцию test_generate_color(), которая внутри себя вызывает generate_color(), можно несколько раз, берёт её результат, анализирует его, проверяя, что при вызове generate_color() выпала именно строка, входящая в перечень ("белый", "серый", "чёрный"), а не что-то ещё (тогда она выдаст false), и возвращая true или там "я функция generate_color(), я вернула такой-то цвет".
Если ты по этой команде должен получить код в виде $FFAA01 или подобного hex-числа, то тоже внутри тестирующей функции вызываешь тестируемую, берёшь её результат и смотришь, получилось ли у тебя такое число или какая-то хрень.
Всё равно у тебя не может выпасть чёрт знает что, так? Должна прийти строка ненулевой длины, можешь проверить на то, чтобы в ней были или не были какие-то символы. Скажем, возраст должен состоять из чисел, а имя должно быть с большой буквы и содержать только буквы и дефис (если ты это так написал, конечно).
То есть, ты считаешь тестируемую функцию чёрным ящиком, в тестирующей функции скармливаешь ей данные на вход и смотришь, что вывалилось на выходе.
То есть, ты считаешь тестируемую функцию чёрным ящиком, в тестирующей функции скармливаешь ей данные на вход и смотришь, что вывалилось на выходе.
Анон, спасибо за настолько подробное описание!
Вот прямо на моем примере: бот получает команду от телеграм-бота/дискорд-бота, идет на ао3, опционально получает уточнение команды, приносит результат
Тесты должны быть по каждой команде и проверять корректное наличие данных, так? + все вариации с доп командами
Открыла код, дописала фикс с выбором протокола, чтобы тестовая площадка не падала, закрыла код
Ну ещё загуглила фреймворки тестирования
Скорость разработки впечатляет
Тесты должны быть по каждой команде и проверять корректное наличие данных, так?
Примерно так, да.
У тебя, допустим, по каждой команде отдельная функция её выполнения (так удобнее и тестировать, и разрабатывать) и к ней будет функция тестирования. А потом ты эти функции тестирования собираешь в одну функцию-батарею тестов, которую запускаешь перед тем, как залить обновлённый код в продакшен.
В тестирующих функциях ты можешь проверять, что 1) с правильными входными данными твой код даёт такой-то правильный результат 2) с неправильными данными он реагирует так-то, а не падает, не виснет и т.д.. Например, пишет "извините, я не знаю такой команды" или "вы можете вызвать подсказку такой-то командой", если пользователь ввёл /абырвалг и тебе надо как-то отреагировать, а не оставлять его с пустым окном в недоумении.
Открыла код, дописала фикс с выбором протокола, чтобы тестовая площадка не падала, закрыла код
Ну ещё загуглила фреймворки тестирования
Всё нормально, ты же ещё с годовалым дитём?
Анону как-то доводилось писать код и параллельно управляться с мелким анонёнком, ну и писал маленькими шажками, куда деваться.
Взяла себя за шкирку, написала вопрос о своем пособии в сообществе ВКонтакте.
Вот через приложение запрос мне писать намного легче - даже при том, что я знаю, что структура мне перезвонит
А вот оставлять запрос ВК - некомфортно
Может из-за того, что ВК запросы видны всем?
писал маленькими шажками
У меня теперь есть план, с планом можно и по полчаса в ночь писать и написать!
Спасибо за поддержку!
Написала ридми, горжусь собой.
Чтобы нормально писать тесты - надо сначала переделать исполняемые функции так, чтобы они там не запрашивали бота, а просто возвращали данные. Чтобы все ответы в ботов были в одном месте.
Правда, придется, наверное, избавиться от технических сообщений - а они мне нравятся.
Отредактировано (2022-03-11 20:30:46)
Ребенок опять съел всю кашу, засунул пальцы в рот и выблевал лишнее
Ребенок, ты - жопа!
Взяла себя за шкирку, написала вопрос о своем пособии в сообществе ВКонтакте
Тадам, этих данных нет у них в базе
Сижу
Боюсь
Все ещё пишу ридми и environment файлы
Меня греет только мысль, что при прописанном окружении будет легче проверять все
Интересно, а существуют интерактивные диаграммы железо-углерод?
Было бы забавно сделать страничку, где можно тыкать разное соотношение углерода и скорость охлаждения и смотреть на результат
Ой. Мои фоточки городской паблик взял.
О, а использовать vercel через консоль очень удобно! Особенно на моем микро-ноутбуке
Демо-версия хорошо спящего ребенка закончилась, второй день жопа какая-то
Переменные окружения вроде все вписала, прод не сломался - пока, но и дев не запустился.
Завтра буду копать дальше и пытаться понять, почему дискорд не принимает ссылку на эндпоинт
Обожаю [нет] уровень поддержки от своего отца
Я: вот я программу написала, но она выдает случайные ошибки
Папа: программы всегда делают то, что напишешь! Это ты неправильно написала!
Впрочем, от мамы тоже
Мама: ты будешь есть а или б?
Я: наверное б....
Мама: я уже а положила