Ох, давно не брал я в руки шашку! По крайней мере в блоге. Пора немного наверстать упущенное.
Модульное тестирование, DUnit
Несколько раз мне приходила в голову мысль, что было бы не плохо иметь покрытие модульными (unit) тестами систем под IBM Notes/Domino, написанных на LotusScript. Код некоторых становится достаточно сложным, а количество вариантов прохождения неподъемным для прогона после каждого изменения. Т.к. готового инструмента вообще говоря нет, пришлось его создать самому.
Так появился DUnit. Это фреймворк для написания и выполнения unit тестов для кода на языке LotusScript. Сам он тоже написан на нем же. Фреймворк свободный, с открытым кодом. Доступен на GitHub. Там же подробная документация о том, как писать и запускать тесты. Проект был так же размещен на OpenNTF.org
Статья на Хабре
Написание DUnit стало для меня некоторым вызовом. Нет, не в плане кода, а в плане подхода к реализации. Я изначально планировал реализовать как отдельный самостоятельный продукт для свободного размещения. Мне хотелось, чтобы это был не просто выброс кода, а полноценный и, по возможности, удобный инструмент. Хотелось осветить причины его появления, устройство и нюансы разработки.
Где наибольшая аудитория для размещения информации такого рода? Конечно же Хабрахабр! Так появилась моя первая статья на этом ресурсе: Модульное тестирование для приложений на платформе IBM Notes/Domino. Крайне рад, что она была одобрена модераторами и получила право быть размещенной в открытом доступе, а я право на дальнейшие публикации на этом ресурсе.
Ждать одобрения пришлось долго. Я даже несколько пал духом и перестал следить за тем, разместили ли статью или нет. Узнал я совершенно случайно из Facebook:)
Немного о планах...
Параллельно с созданием DUnit работал над еще одним проектом, который должен стать открытым - это движок для написания классических (под клиент) приложений для платформы Notes/Domino. Текущее рабочее название LS Open Domino Framework.
Думаю, что скоро будет первый небольшой релиз с достаточно простой функциональностью. Это маленький шажок по сравнению с тем, что хочется сделать. Планирую посветить эту проекту отдельные посты в блоге, там и расскажу несколько подробнее о планах, идеях и, конечно же, об уже реализованном и выпущенном коде.
LS Open Domino Framework - проект открытый, я посчитал, что он должен быть максимально покрыт модульными тестами. В нем нашел свое применение DUnit. И знаете что? Я крайне доволен проделанной работой. Не могу сказать, что всецело следую принципу TDD и скорее пишу тесты как проверку, что все работает как надо в штатном, граничных и ошибочных случаях. Написание тестов позволило значительно улучшить качество кода и найти некоторые ошибки. Было бы очень обидно, если бы они проникли в релизный код.
Также планирую еще одну статью на хабре. Не буду раскрывать все карты, скажу только, что на этот раз она будет посвящена Java и применению одной интересной библиотеки на практике. Упор всей статьи будет именно практическая сторону применения.
Комментарии
Отправить комментарий