Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

могут ли быть параметры метода - методом?

9.9K
30 апреля 2010 года
maxxi
35 / / 20.06.2007
Здравствуйте! у меня такой вопрос -
есть некий класс,XYZ, в нем есть boolean методы, с разными входными параметрами.

Нужно написать класс, например Test, который тестирует методы из XYZ. В нем должен быть метод к примеру, Status(метод_из_XYZ() ).

Возможно ли такое в яве?

После проведения теста этот метод должен выдавать также, с каким методом метод_из_XYZ() он был вызван.

Подскажите, как это можно реализовать
Спасибо за ответы
276
30 апреля 2010 года
Rebbit
1.1K / / 01.08.2005
Немного непонятен сам вопрос.
Цитата:
boolean методы

Я так понимаю что возвращают боолеан?
Можно ли както уникализировать их входные параметры?
Сколько раз в процесе теста вызывается один метод?

Передать сам метод как параметр нельзя.
Но тем не менне можно найти более менее елегантный выход.
Например можно передавать название метода как строчку и для его вызова пользоваться рефлексией.
Менне елегантно по количеству кода, но более быстро и с проверкой на уровне компиляции - можно написать простенький интерфейс и передавать в тестирующий метод екземпляр анонимного класса который и будет звать нужный тестируемый метод.

Обясните пожалуйста поставленую задачу лутше и дайте хотябы желаемые интерфейсы классов тестируемого и тесирующего (последний приблизительно, так как именно о нем вы и спрашиваете :) )

5
30 апреля 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Rebbit
Немного непонятен сам вопрос.


Он хочет делегаты (сделать колбэк функцию). Насколько я знаю их в Джаве нет.
В принципе то что хочет сделать топикстартер можно выполнить посредством отражения.

276
30 апреля 2010 года
Rebbit
1.1K / / 01.08.2005
Цитата: hardcase
Он хочет делегаты (сделать колбэк функцию). Насколько я знаю их в Джаве нет.


Ето мы понять могем :).
Колбек функций в Джаве действительно нет, зато есть класы с колбек функциями (Листенеры).
Ничего в них особенного нет. Просто поддержка некого интерфейса извесного тому кто позовет етот колбек. Но ето на уровне инстансов, а не названий методов.

Поетому и прошу детальнее описать задачу. Тогда можно думать оправдано ли использовать отражение (рефлексию) или может лутше прорефакторить код и сехать с колбека на уровне метода к колбеку на уровне класса - к листенерам (что было бы очень желательно ибо не вписывается в концепцыю Джавы) или, возможно, можно написать промежуточный листенер.
Вариантов как минимум 3 и хз какой выбрать.

Особенно интересует как едет процес тестироования? Ето JUnit?. Какой примерно код теста?

63
06 мая 2010 года
Zorkus
2.6K / / 04.11.2006
Вместо колбеков есть анонимные классы, реализующие определенный интерфейс. Это наиболее близкая концепция в мире Java.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог