Рубрика «unit test» - 2

Думаю, что все знают, что такое модульные тесты, все знают или, по крайней мере, слышали, что такое непрерывная интеграция, и многие программируют на C++. Но я столкнулся с тем, что в интернете не так много информации о том, как же это все объединить и заставить работать вместе. Эта статья является попыткой дать новичками пошаговую инструкцию, которая позволит сделать первый шаг в создании модульных тестов для C++ проектов и организовать покоммитный прогон модульных тестов при помощи CI сервера.

Внимание: много букв и скриншотов, половина из которых избыточны. Особенно для тех кто уже в теме.

Читать полностью »

Впервые я встретился с юнит тестированием на Java и был рад возможности делать моки на final классы, на статические члены. В это время на .Net нельзя было сделать ничего подобного. Только интерфейсы. Можно безгранично долго рассуждать о том, что если понадобилось делать что-то неестественное, то нужно переписывать реализацию, делать IOC и прочее. Но когда речь идет о наследованном коде, неприспособленном архитектурно к юнит тестированию – возможность менять вещи без переписывания выручает.
Я окончательно забросил Java и ушел в .Net и каждый раз при разговоре о юнит тестах вспоминал, что на Java возможностей больше.
И вот в 2012 студии добавили возможность делать мок любых объектов. Абсолютно любых, даже системных. Под катом перевод статьи из MSDN (переведено только по шимам, т.к. стабы особого интереса не представляют).
Читать полностью »

Тестировать или нет классы, взаимодействующие с Базой данных — вопрос куда более холиварный, чем спор «покрывать код тестами или нет». Просмотрев свой проект, нам стало очевидно, что львиная доля классов основана на взаимодействии с базой данных. Поэтому было однозначно решено: «тестированию быть».
Далее я хочу поделится опытом написания модульных тестов для кода, работающего с базой данных.

PHPUnit содержит расширение для тестирования базы данных. Расширение выполняет следующие функции:

  • перевод базы данных в заранее известное состояние,
  • выполнение необходимых модификаций данных,
  • проверка, что в базе данныхЧитать полностью »

У нас и rich client, и сервер активно используют Spring. И очень быстро возникла проблема — как использовать спринг бины из обычных классов (которые сами — не бины).

Сначала возникли две идеи — передавать им нужные бины как аргументы в конструкторе или использовать какое то статическое поле для хранения Spring context.
Первая идея была признана порочной. Получается, что ныжные сервисы надо тянуть через длинную череду конструкторов.
Вторая идея тоже была признана порочной — возникает вопрос кто и когда будет инициализировать это поле и что будет происходить с юнит тестами.

Вскоре я нагуглил в интернетах такой красивый вариант:
<aЧитать полностью »

Доброго времени суток, друзья!
Хочу поделиться опытом по борьбе с PHPUnit/DbUnit в связке с MySQL. Далее небольшая предыстория.

Краткая предыстория

В процессе написания одного веб-приложения возникла необходимость тестировать код на PHP, интенсивно взаимодействующий с БД MySQL. В проекте в качестве фреймворка модульного тестирования использовался порт xUnit — PHPUnit. В результате было принято решение писать тесты для модулей, непосредственно взаимодействующих с базой, подцепив плагин PHPUnit/DbUnit. Дальше я расскажу о тех трудностях, которые возникли при написании тестов и о том, каким способом я их преодолел. В ответЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js