JUnit тестирует всплывающие подсказки ячеек JTable

#java #swing #junit #tooltip #assertj

#java #качать #junit #всплывающая подсказка #assertj

Вопрос:

Я создаю JTable с помощью пользовательского TableCellRenderer, который устанавливает всплывающую подсказку для некоторых ячеек. Всплывающая подсказка предоставляет дополнительную информацию о содержимом ячейки, поэтому она отличается для каждой ячейки, в которой она есть.

Для тестирования я использую AssertJ и JUnit.

Как я могу проверить, отображаются ли правильные всплывающие подсказки? Я придумал два подхода:

  1. Получите компоненты, созданные TableCellRenderer, и проверьте их всплывающие подсказки — к сожалению, даже если я использую имена для каждого из них, они не могут быть найдены.

  2. Автоматически наведите указатель мыши на ячейки и проверьте, есть ли всплывающая подсказка с нужным содержимым. К сожалению, я не имею ни малейшего представления о том, как это сделать.

  3. …?

Ответ №1:

Что-то вроде этого

 TableCellRenderer r = myTable.getCellRenderer(row, column);
JComponent c = (JComponent) myTable.prepareRenderer(r, row, column);
String tooltip = c.getToolTip();
  

Комментарии:

1. Вы великолепны. Работает как шарм!