![]() |
|
Модераторы: LSD |
![]()
|
|
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 1 Всего: 538 |
Задача: есть сервисы которые принимают ряд входных параметров. Каждый сервис должен выполнять некую проверку на валидность параметров: не null, не пустая строка, больше нуля, меньше 100 и т.п. и при некорректных параметрах выкидывать соответствующий эксепшн.
Вопрос: как тестировать, что сервис проверяет входные параметры? Писать в ручную можно убиться, методов штук 20-50 и в каждом по 2-5 параметров которые надо проверить. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: нет Всего: 151 |
Что есть сервис?
Я бы попытался накропать какой-нибудь механизм интроспекции - по java-коду, WSDL или что там у тебя есть. И пускай он в рантайме генерит вызовы. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 1 Всего: 538 |
Метод некого класса, который реализует бизнес логику, который как-то выставлен наружу. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Старовъръ |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 2 Всего: 10 |
А раньше о чем думали? =) Можно написать что-то вроде:
По-моему, ничего страшного в написании обычных тестов нет, это логика, при чем достаточно простая, ее не так сложно проверить, проблема скорей в том, что эти тесты не писались постепенно по мере написании кода.
PS: не пробовали заиспользовать программирование по контракту? Достаточно интересная тема как по мне, но сам еще не пробовал. -------------------- |
||||||||
|
|||||||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 1 Всего: 159 |
||||
|
||||
| Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 2 Всего: 10 |
А есть что-то похожее на фитнес, только для обычного модульного тестирования?
-------------------- |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 1 Всего: 159 |
||||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 1 Всего: 538 |
Раньше это когда? Когда в программисты пошел? И что тогда должно реализовывать бизнес логику если не сервисы? Не, не пробовали. Интересная штука, надо будет нашим QA показать а то они по моему нечто подобное сами пишут Если бы было можно используя JSR-305 (или нечто похожее) и аспекты нагенерировать проверок входных параметров, меня бы это полностью устроило. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Старовъръ |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 2 Всего: 10 |
-------------------- |
||||||
|
|||||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 1 Всего: 538 |
1. Бывает что код унаследован и надо его привести в порядок. 2. В моем случае этих 50 методов еще нет, но будут. Я просто пытаюсь облегчить себе задачу.
1. Как сделать такие предусловия? 2. А тестировать хотелось бы аргументы которые не помечены @NotNull -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 2 Всего: 10 |
Здесь обсуждались несколько реализаций из области программирования по контракту. -------------------- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 1 Всего: 538 |
cofoja прикольная штука, попробую заюзать. Спасибо за наводку.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| gelo86 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Мне неочень понравилось, что в cofoja'е PostconditionError это Error а не RuntimeException. Много кто работает только с RuntimeException, например Spring по умолчанию rollback'ит транзакцию только при RuntimeException но не при Error.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Design, Quality, Testing | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |