de-vraag
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Szymon Lipiński
Szymon Lipiński
Вопрос

Пользовательская аннотация JUnit

Я хотел создать пользовательскую аннотацию JUnit, что-то похожее на ожидаемый тег в @Test, но я хочу также проверить сообщение аннотации.

Любые намеки, как это сделать, или, может быть, есть что-то готовое?

10 2011-10-27T19:48:50+00:00 3
Программирование
java
junit
annotations
Anders
27-го октября 2011 в 8:03
2011-10-27T20:03:05+00:00
Дополнительно
Источник
Редактировать
#56792109

Чтобы сделать JUnit4 пикап ваших пользовательских аннотаций, вам нужно написать свою собственную реализацию Runner, а затем передать ее в аннотацию RunWith в классе Test.

Вы можете начать, взглянув на BlockJUnit4ClassRunner, который является исполнителем бежит по умолчанию для JUnit 4 (если мне хорошо помогает память).

Предполагая, что вы захотите подобрать пользовательскую аннотацию с именем @MyTest с пользовательским бегуном MyRunner, ваш тестовый класс будет выглядеть примерно так:

@RunWith(MyRunner.class)
class Tests {
   ...
   @MyTest
   public void assumeBehaviour() {
      ...
   }
}

Ответ «Reid Mac» неплохо справляется с описанием того, как реализована пользовательская аннотация.

4
0
Sandesh Ganjare
27-го октября 2011 в 8:04
2011-10-27T20:04:31+00:00
Дополнительно
Источник
Редактировать
#56792110

JUnit 4.9 упростил использование библиотекой «правил» для тестов, которые, как я думаю, могут работать, а также пользовательская аннотация. Взгляните на TestRule в качестве стартового точка. Вы можете реализовать правило, основанное на этом интерфейсе, а затем использовать либо аннотации @ClassRule или (method-level) @Rule, чтобы включить их в свои тесты.

Хорошим конкретным примером является ExpectedException , который позволяет указать исключения, такие как ожидаемый параметр для @Test (а затем некоторые).

4
0
dev_il
19-го марта 2013 в 6:12
2013-03-19T06:12:15+00:00
Дополнительно
Источник
Редактировать
#56792111

Вы можете создать собственный TestRule , как указано в первом ответе или вы можете использовать/продлить TestWatcher , которые уже имеют метод обработки начала/окончания теста. Существует метод apply (база Statement, описание описания) , где описание на самом деле является оберткой вокруг вашего тестового метода. Описание имеет отличный метод getAnnotation (annotationClass ) , который позволит вам делать то, что вы хотите, указав пользовательскую аннотацию, которую хотите обработать

1
0
Похожие сообщества 12
pro.jvm
pro.jvm
5 862 пользователей
Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat Конфы: @jvmconf ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
Открыть telegram
learn.java
learn.java
5 163 пользователей
Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat
Открыть telegram
Java & Co
Java & Co
4 454 пользователей
Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/179171 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude
Открыть telegram
pro.JVM Jobs Chat
pro.JVM Jobs Chat
2 513 пользователей
Чат для обсуждения вакансий на JVM языках. Правила: - Никакого спама - Никакого троллинга и оскорблений участников - Размещение вакансий только через канал Канал для вакансий: @jvmjobs Основной чат: @jvmchat Наши друзья: @scala_jobs, @scala_jobs_feed
Открыть telegram
Java/Kotlin and more
Java/Kotlin and more
2 025 пользователей
чат о Java/Kotlin и связанных технологиях. We're discussing: job, tech questions etc. languages: russian, java, eng, kotlin Ссылка на чат: t.me/springframeworkio
Открыть telegram
Java Underground
Java Underground
1 581 пользователей
Библиотека по Java https://t.me/javalib Наше сообщество ВК: https://vk.com/javatutorial Вакансии и резюме свои строго в этот канал: https://t.me/job_java
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Roxana Elizabeth CASTILLO Avalos
Зарегистрирован 5 дней назад
2
Hideo Nakagawa
Зарегистрирован 5 дней назад
3
Sergiy Tytarenko
Зарегистрирован 1 неделю назад
4
shoxrux azadov
Зарегистрирован 1 неделю назад
5
Koreets Koreytsev
Зарегистрирован 1 неделю назад
© de-vraag 2022
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией