home.social

#юниттесты — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #юниттесты, aggregated by home.social.

  1. Не LLM едиными: генерируем юнит-тесты из реального исполнения на лету

    Представьте себе: вы отлаживаете новый баг в сложном многослойном приложении (например, на Spring). Чтобы воспроизвести проблему, приходится взаимодействовать со всей системой end-to-end: отправлять запрос на эндпоинт или что-то кликать в UI. Юнит-теста, который бы изолировал нежелательное поведение до уровня злополучного сервиса или утилиты, нет. А хотелось бы, чтобы он был: во-первых, воспроизводить баг было бы проще (особенно если UI кликает QA, а не вы), а во-вторых, его потом можно было бы легко превратить в регрессионный и улучшить стабильность системы. Тем временем все данные, нужные для воспроизведения бага в изоляции, есть. В окне отладчика видно, что приходит в метод, и в каком состоянии находится сервис перед тем, как все пойдёт не так. Мы в Explyt RnD решили, что нечего добру пропадать, и научились перехватывать это состояние, а потом генерировать юнит-тест, который в точности его воспроизводит. Сегодня расскажу о пройденном исследовательском пути, о том, как попробовать нашу экспериментальную фичу в плагине для IntelliJ IDEA, и о том, что у неё под капотом (спойлер: не только LLM).

    habr.com/ru/companies/explyt/a

    #автоматизация_тестирования #spring #java #юниттесты #интеграционные_тесты #llm #intellijidea #kotlin #explyt #тестирование_вебприложений

  2. [Перевод] Shift-Left тестирование с Testcontainers: ловим баги на ранних этапах локальными интеграционными тестами

    Баги, пойманные на проде, всегда стоят слишком дорого — и времени, и нервов, и репутации. Юнит-тесты не видят проблем с реальными зависимостями, моки быстро устаревают, а интеграционные среды тормозят разработку. Выход ищут в подходе shift-left: проверять критичную бизнес-логику раньше, прямо в IDE, без ожидания CI. В этой статье разберём, как библиотека Testcontainers позволяет поднимать реальные сервисы в контейнерах, писать интеграционные тесты так же просто, как юнит-тесты, и что это даёт с точки зрения скорости и качества по метрикам DORA.

    habr.com/ru/companies/otus/art

    #интеграционные_тесты #Testcontainers #автоматизация_тестирования #фреймворки_тестирования #PostgreSQL #качество_кода #юниттесты

  3. Unit тесты в React разработке

    Зачастую разработчики сталкиваются с двумя крайностями: либо пишут огромное количество бесполезных тестов, которые почти ничего не проверяют, либо вообще отказываются от тестирования, боясь сложностей. Здесь мы рассмотрим простой и эффективный подход к созданию правильных юнит-тестов в проектах на React.js.

    habr.com/ru/articles/935742/

    #react #reactjs #reactjs #unittesting #юниттесты #юниттестирование #юнит_тесты

  4. [Перевод] Тестируем веб приложение на Go

    Тестирование — важнейший аспект разработки программного обеспечения, особенно для веб‑приложений. В Go тестирование встроено в язык и предоставляет мощные инструменты для написания и выполнения тестов. В этой статье мы рассмотрим поток веб-приложения на Go, как писать модульные тесты для каждого слоя приложения.

    habr.com/ru/companies/otus/art

    #go #qa_automation #qa #Тестирование #Юниттесты #Вебприложение #Модульное_тестирование #Сервисный_слой #Mock #Testify

  5. Как тестировать хуки в React с @testing-library/react-hooks

    Привет, Хабр! Сегодня рассмотрим, как тестировать React‑хуки с помощью @testing-library/react-hooks .

    habr.com/ru/companies/otus/art

    #react #React_Hooks #Тестирование_React #Юниттесты #Хуки #useState #useCallback

  6. Как тестировать хуки в React с @testing-library/react-hooks

    Привет, Хабр! Сегодня рассмотрим, как тестировать React‑хуки с помощью @testing-library/react-hooks .

    habr.com/ru/companies/otus/art

    #react #React_Hooks #Тестирование_React #Юниттесты #Хуки #useState #useCallback

  7. Как тестировать хуки в React с @testing-library/react-hooks

    Привет, Хабр! Сегодня рассмотрим, как тестировать React‑хуки с помощью @testing-library/react-hooks .

    habr.com/ru/companies/otus/art

    #react #React_Hooks #Тестирование_React #Юниттесты #Хуки #useState #useCallback

  8. Как тестировать хуки в React с @testing-library/react-hooks

    Привет, Хабр! Сегодня рассмотрим, как тестировать React‑хуки с помощью @testing-library/react-hooks .

    habr.com/ru/companies/otus/art

    #react #React_Hooks #Тестирование_React #Юниттесты #Хуки #useState #useCallback

  9. Мечтают ли андроиды о Robolectric? Разбираем фреймворк по косточкам

    Я уверен, вы слышали про Robolectric, но использовали ли хоть раз для UI‑тестирования или screenshot-тестирования? Да, у библиотеки неоднозначная репутация в Android-комьюнити. Возможно, вы будете в восторге, когда её устройство перестанет быть для вас загадкой. В статье разберу: устройство Robolectric, возможности фреймворка, задачи, которые вы сможете решать, и нюансы совместимости, важные для вашего проекта . Я копнул глубже, упорядочил все свои знания о библиотеке и изложил их под катом.

    habr.com/ru/companies/alfa/art

    #robolectric #android #classloader #bytecode #юниттесты #uiтестирование #фреймворки_тестирования

  10. Тестирование БД в легаси-проекте: повышение качества кода и стабильности системы в «Цифровой карте магазина»

    В этой статье я хотел бы поделиться с вами моим опытом написания юнит-тестов для базы данных (БД) в рамках легаси-проекта. Я выбрал формат ретроспективы, чтобы показать, как все начиналось, к чему мы пришли и какой путь был пройден в разработке юнит-тестов для проекта «Цифровая карта магазина». Возможно, статья будет полезна начинающим разработчикам баз данных или тем, кто хочет начать писать юнит-тесты для Oracle, но не знает, с чего начать.

    habr.com/ru/companies/sportmas

    #юниттесты #oracle_sql #тестирование #автотесты #базы_данных #smlab #спортмастер

  11. [Перевод] Грязный код

    Эдсгер Дейкстра: «Грязно и быстро — мне это не понравится» «Чтобы иметь право называть себя профессионалом, вы должны писать чистый код. Нет никаких разумных оправданий тому, чтобы не стремиться к лучшему». Clean Code В этом эссе я хочу рассказать о том, как пишу код. Я буду называть свою методику «грязным кодом», потому что часто нарушаю рекомендации «чистого кода» — популярной концепции написания кода. Вообще, я на самом деле не считаю свой код абсолютно грязным: местами он немного уродлив, но по большей части я им доволен, и он достаточно прост в поддержке, обеспечивая при этом разумные уровни качества. Кроме того, я не пытаюсь своим эссе убедить вас писать грязный код. Скорее, я хочу показать, что таким способом можно писать достаточно успешное ПО, и, надеюсь обеспечить некий баланс в обсуждениях методологий разработки ПО. Я программирую уже довольно давно и видел разнообразные подходы к обеспечению работоспособности ПО. Кто-то любит объектно-ориентированное программирование (я тоже), другие умные люди его ненавидят. Кому-то нравится выразительность динамических языков, кого-то она бесит. Кто-то успешно выпускает программы, строго следуя концепции Test Driven Development, другие добавляют в конце проекта несколько сквозных тестов, а многие остаются где-то посередине этих крайних точек. Я был свидетелем проектов, выпускавших и поддерживавших успешное ПО на основе всех этих разнообразных подходов. Поэтому повторюсь, что моя цель не убедить вас, что мой способ кодинга единственно возможный, а показать вам (и в особенности начинающим разработчикам, которых легко запугать терминами наподобие «чистого кода»), что можно иметь успешную карьеру программиста, пользуясь множеством различных подходов, и что мой — один из них.

    habr.com/ru/companies/ruvds/ar

    #htmx #чистый_код #принцип_единой_ответственности #test_driven_development #юниттесты #интеграционные_тесты #ruvds_переводы

  12. [Перевод] Как писать чистый код — советы для разработчиков с примерами

    Представьте комнату, где повсюду разбросана одежда, книги и другие вещи. Найти что-то в такой комнате было бы сложно, не так ли? Теперь представьте, что вы пишете беспорядочный код – это не менее запутанно, если не хуже! С другой стороны, чистый код похож на аккуратную комнату: вы легко находите то, что нужно, понимаете, что происходит, и быстрее выполняете задачи. Давайте взглянем на этот график. Он показывает два разных подхода к написанию кода и их влияние на время, необходимое для добавления новых строк:

    habr.com/ru/articles/864758/

    #чистый_код #юниттесты #архитектура_ПО #разработка_ПО #javascript #разработчик #код #вебразработка #singleresponsibility_principle

  13. Поиск ошибок в юнит-тестах

    Давно хотелось написать статью, что юнит-тесты — это хорошо, но не стоит забывать, что они тоже могут содержать ошибки. Сейчас встретился проект DPDK, тесты которого хорошо демонстрируют этот нюанс. Давайте посмотрим, как выглядят типичные ошибки в юнит-тестах, и как они выявляются с помощью статического анализа кода.

    habr.com/ru/companies/pvs-stud

    #юниттесты #unittesting #unitтестирование #тестирование #TDD #DPDK #c #c++ #ошибки #ошибки_в_программе #статический_анализ_кода #pvsstudio #sast #си #open_source

  14. Приключение на 20 минут. Часть 1: автоматизируем запуск проектов в SoapUI

    Всем привет, меня зовут Вероника Дюкарева. Я работаю старшим инженером-программистом в компании Bercut . В статье разберем, что такое SoapUI, что полезного можно найти в его системных файлах, рассмотрим работу с ним через командную строку, Docker и Python. Вошли и вышли!

    habr.com/ru/companies/bercut/a

    #bercut #беркут #soap #soapui #xml #автоматизация #юниттесты

  15. Приключение на 20 минут. Часть 1: автоматизируем запуск проектов в SoapUI

    Всем привет, меня зовут Вероника Дюкарева. Я работаю старшим инженером-программистом в компании Bercut . В статье разберем, что такое SoapUI, что полезного можно найти в его системных файлах, рассмотрим работу с ним через командную строку, Docker и Python. Вошли и вышли!

    habr.com/ru/companies/bercut/a

    #bercut #беркут #soap #soapui #xml #автоматизация #юниттесты

  16. Приключение на 20 минут. Часть 1: автоматизируем запуск проектов в SoapUI

    Всем привет, меня зовут Вероника Дюкарева. Я работаю старшим инженером-программистом в компании Bercut . В статье разберем, что такое SoapUI, что полезного можно найти в его системных файлах, рассмотрим работу с ним через командную строку, Docker и Python. Вошли и вышли!

    habr.com/ru/companies/bercut/a

    #bercut #беркут #soap #soapui #xml #автоматизация #юниттесты

  17. Образы БД для юнит-тестирования, опять

    В прошлой статье был предложен вариант для создания docker образов БД для последующего использования в разработке и тестирования приложений в пайплайнах гитлаба. Из-за перехода на новую инфрастуктуру k8s 1.30 (restricted psp) и новый гитлаб 17.3 все это ломается. Поэтому придется исправлять ситуацию! Запускай

    habr.com/ru/articles/846172/

    #базы_данных #юниттесты #springboot #jib

  18. [Перевод] С 80-х по 2024-й: как создавались и оптимизировались CI-тесты

    Современные команды разработки тестируют каждое изменение кода перед мержем. Это не просто общепринятая традиция: наряду с ревью кода, это стандарт по умолчанию, применяемый практически во всех кодовых базах компаний. Мы называем его тестами CI (непрерывной интеграции). В результате их внедрения среднестатистическая организация запускает сотни наборов тестов в день. В прошлом непрерывное интеграционное тестирование было с нами не всегда, в отличие от обычного тестирования. По моим наблюдениям, CI — это результат того, что тестирование всё больше ускоряется. Разберёмся, как это произошло и как тестирование будет ускоряться дальше.

    habr.com/ru/companies/netology

    #CI_тесты #тестирование #ci #jenkins #CIсистемы #ускорить_по #пакетирование #интеграционное_тестирование #интеграционные_тесты #юниттесты

  19. Шаблон unit-тестов на Go

    В этой статье я хотел бы показать паттерн для тестов, которым я пользуюсь в своей повседневной жизни. В ходе статьи мы на примере шаблона разберем написание юнит-тестов и бенчмарков, а потом объединим их в одну универсальную функцию.

    habr.com/ru/articles/833448/

    #go #golang #unittesting #benchmark #test #pattern #тестирование #юниттесты #бенчмарк #шаблон

  20. 5 способов писать эффективный код на Go: от названий переменных до архитектуры

    Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разработки в команде Go-программистов: они расскажут, как называть переменные, составлять документацию и продумывать архитектуру так, чтобы специалистам в команде и смежных отделах было легко работать с написанным кодом. Статья будет полезна начинающим специалистам и командам, которые недавно работают вместе. Опытных разработчиков приглашаем в комментарии — расскажите, какие практики для повышения эффективности кода используете вы.

    habr.com/ru/companies/yadro/ar

    #работа_в_команде #go #эффективность #архитектура #нейминг #синтаксис #юниттесты #swagger #чистая_архитектура