Статические поля датчика

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

Термин статическое поле относится к полю класса, определенного со спецификатором static. В некоторых случаях применяются термины статическая переменная, поле класса и переменная класса (в отличие от переменной экземпляра).

Спецификацию статического поля указывать не обязательно.

Для статического поля предусмотрено следующее свойство:
Свойство Описание
type Обязательный атрибут. type задает строку типа Java для нового поля. Строка должна быть полным именем класса Java. Например, java/lang/StringBuffer. Строка type должна задавать класс обычного типа, но не простой тип или тип массива. Класс с этим именем должен иметь конструктор по умолчанию, не использующий аргументы и доступный для тестируемого класса.
Новое статическое поле инициализируется тестируемым классом путем вызова конструктора этого типа по умолчанию. Например, добавление статического поля типа StringBuffer аналогично добавлению следующего исходного кода в класс, расположенный за пределами всех методов:
static private StringBuffer fieldName = new StringBuffer();

Вызов инициализации происходит при запуске инициализатора класса для обрабатываемого датчиком класса. Если у класса нет инициализатора класса, он будет создан. Если в датчике указан фрагмент staticInitializer, код фрагмента staticInitializer выполняется после создания статического поля.

Фрагменты датчика могут использовать элемент данных staticField для доступа к объекту, на который ссылается статическое поле. Фрагменты могут менять состояние объекта, на который ссылается статическое поле, но они не могут заставить статическое поле ссылаться на другой объект.

В состав датчика может входить только одно статическое поле. Применение спецификации статического поля для хранения нескольких элементов тестируемого класса предусматривает использование составного типа объектов, например ArrayList, HashMap, HashSet, либо определение нового класса с нужной структурой данных.

Пример:

Для того чтобы добавить статическое поле, щелкните правой кнопкой мыши на записи Probe в дереве редактора и выберите Создать > Статическое поле. Укажите тип Java в панели редактирования.

Запись статического поля датчика. Формат записи: /java/lang/StringBuffer

Связанные справочники
Тип фрагмента датчика staticInitializer
Связанная информация
Пример staticField и staticInitializer