Аннотации Java

При тестировании кода Swift, который принадлежит приложению, сначала убедитесь, что цель тестирования создает приложение как зависимость. Затем в своем тесте импортируйте приложение в виде модуля. Например:

@testable import MyApplication

Это сделает объекты Swift, которые являются частью приложения, доступными для теста.

110
задан Igor Popov 31 January 2013 в 17:36
поделиться

5 ответов

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

Oracle имеет хорошее объяснение понятия и его значение в Java на их сайте.

78
ответ дан Michael Hogenson 24 November 2019 в 03:16
поделиться

кроме того, действительно ли они уникальны для Java, есть ли эквивалентный C++?

нет, но VB и C# имеют атрибуты , которые являются тем же самым.

Их использование довольно разнообразно. Один типичный пример Java, @Override не имеет никакого эффекта на код, но это может использоваться компилятором для генерации предупреждения (или ошибка), если украшенный метод на самом деле не переопределяет другой метод. Точно так же методы могут быть отмечены устаревшие.

Тогда существует отражение. При отражении типа класса в коде можно получить доступ к атрибутам и действию согласно информации, найденной там. Я не знаю примеров в Java, но в.NET, которую это используется компилятором, чтобы генерировать (de) сериализация информация для классов, определить , расположение памяти из структур и объявляет функциональный импорт из библиотек прежней версии (среди других). Они также управляют, как конструктор форм IDE работает.

РЕДАКТИРОВАНИЕ/: Атрибуты на классах сопоставимы для меток интерфейсов (как сериализуемый в Java). Однако в инструкциях по кодированию.NET говорится для не использования интерфейсов тега. Кроме того, они только работают на уровне класса, не на уровне метода.

16
ответ дан Afshin Moazami 24 November 2019 в 03:16
поделиться

Anders дает хорошую сводку, и здесь является примером аннотации JUnit

@Test(expected=IOException.class)
public void flatfileMissing() throws IOException {
    readFlatFile("testfiles"+separator+"flatfile_doesnotexist.dat");
}

Здесь @Test, аннотация говорит JUnit, что flatfileMissing метод является тестом, который должен быть выполнен и что ожидаемым результатом является брошенный IOException. Таким образом, когда Вы запускаете свои тесты, этот метод назовут, и тест передаст или перестанет работать на основе того, брошен ли IOException.

13
ответ дан Lahiru Ashan 24 November 2019 в 03:16
поделиться

Java также имеет Инструмент Обработки Аннотации (склонный), где не только Вы создаете аннотации, но и решаете также, как эти аннотации работают над исходным кодом.

Здесь введение.

7
ответ дан S.L. Barth - Reinstate Monica 24 November 2019 в 03:16
поделиться

Для наблюдения некоторого интересного материала, можно сделать с Аннотациями, проверить мои аннотации JavaBean и процессор .

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

4
ответ дан forsvarir 24 November 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: