К основному контенту

Сообщения

Unit-testing object validation when validator has DI

Summary Unit test object validation when validator(s) has a dependency.

For instance, we have some custom field and cross-field validators. Want to test their combination. Additionally some of validators have dependencies, injected through constructor or setters. You're not using property injection, right?
Shortcut If you are just searching for an answer, here's the fast way:
Declare CustomConstraintValidatorFactory that implements javax.validation.ConstraintValidatorFactoryOverride getInstance method and on facing your constraint validator class instantiate itOtherwise delegate validator construction to org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImplBuild validator factory and provide it your CustomConstraintValidatorFactoryBuild validator, using that factory... Go to demo project on GitHub for details: https://github.com/MrArtemAA/blog-demos/blob/master/test-validator-with-injection/src/test/java/ru/artemaa/demo/ObjectToValidateUni…
Недавние сообщения

Модульное тестирование для LotusScript, статья на Хабре и прочее

Ох, давно не брал я в руки шашку! По крайней мере в блоге. Пора немного наверстать упущенное. Модульное тестирование, DUnit Несколько раз мне приходила в голову мысль, что было бы не плохо иметь покрытие модульными (unit) тестами систем под IBM Notes/Domino, написанных на LotusScript. Код некоторых становится достаточно сложным, а количество вариантов прохождения неподъемным для прогона после каждого изменения. Т.к. готового инструмента вообще говоря нет, пришлось его создать самому.
Так появился DUnit. Это фреймворк для написания и выполнения unit тестов для кода на языке LotusScript. Сам он тоже написан на нем же. Фреймворк свободный, с открытым кодом. Доступен на GitHub. Там же подробная документация о том, как писать и запускать тесты. Проект был так же размещен на OpenNTF.org Статья на Хабре Написание DUnit стало для меня некоторым вызовом. Нет, не в плане кода, а в плане подхода к реализации. Я изначально планировал реализовать как отдельный самостоятельный продукт для свободног…

XPages. Как сделать тур (Feature Tour) по приложению

Если вы задавались вопросом: как сделать обучение по возможностям своего приложения или рассказать о новых возможностях? - эта статья для вас.

OpenNTF Domino API (ODA). Тест производительности

Сто лет назад анонсированный тест производительности ODA.

Обзорно что такое ODA, как ее использовать, какие возможности и преимущества можно почерпнуть из презентации. Основное. на чем я бы хотел остановиться, это обращение с View (слайды 25, 26), а именно - не только удобства написания кода, но сравнение производительности разных подходов к обходу view.

Итоги второго лучного сезона

Лук Стреляя из Samik Polaris думал о том, куда же двигаться дальше в плане снаряжения. Есть проблема еще в том, что я левша и попробовать какой-то лук у другого стрелка является несколько проблематичным. В магизине потягал те же Hoyt - не понравилось. На одном из летних 3D турниров увидел лук компании Border - Black Douglas. Попробовав, понял что хочу! Но...вот незадача - никто не возит, да и цена кусается. Прокручивая как-то форум, хорошо известный лучникам - Лукомания, заглянул в раздел Витрина мастров, а именно к Евгению Ревину (на форуме Ksavr). Моим первым удивлением было - не сколько одна из его моделей похожа на тот самый Border. Списались, сказал, что и правда похож, подсказал, где можно посмотреть его лук, оказалось у знакомых - в "10 ярдах". Лук понравился, заказал. Очередь не маленькая - 3 месяца. Получил лук в декабре.
Что сказать - лук сразу притягивает взгляд своим внешним видом: красивое исполнение, большая рекурсия. Лук скоростной - гораздо быстрее Samik, при…

FAQ. Domino Designer. Поиск строки с ошибкой

Думаю, все, кто работает с Eclipse-версией редактора LotusScript, который появился с 8-ой версии сталкивался с проблемой, что номер строки в сообщении об ошибке ну никак не совпадает с тем, что есть на самом деле. Речь идет о коде, который написан в разделе Declarations таких элементов, как скриптовые библиотеки, агенты, Database Script. Т.е. по сути - о классах. В версиях 7 и ниже была проблема найти метод или класс, а теперь (когда дизайнер научился отображать классы и методы в дереве элементов) проблема найти строку с ошибкой :) Полагаю, так же не секрет формула вывода нужной строки: берем количество строк в Options, складываем с тем, что выдала ошибка и получаем строку, которую нужно искать перейдя в просмотр кода всей библиотеке. Та-да-м! Недавно, зачем-то рылся в пунктах меню и наткнулся на...кнопку спасения! - Go to Erl Line....

До чего же было мое удивление. Давно ее добавили, я много проспал? :) В общем, чтобы ей воспользоваться, нужно перейти в Declarations (просто ткнуть н…