Написание собственных тестов, Пример 1

Следующий исходный код является примером каркаса теста возвращающего статические данные. Тест приведен как пример интерфейса WMQTest.


/*
 * Лицензионные материалы - собственность IBM
 * 
 * 63H9336
 * (c) Copyright IBM Corp. 2005, 2020. Все права защищены.
 * 
 * US Government Users Restricted Rights - Use, duplication or
 * disclosure restricted by GSA ADP Schedule Contract with
 * IBM Corp.

 */


package com.ibm.mq.explorer.tests.sample;

/**
 * пример теста, выполняемый из дополнительного теста в структуре тестов стандартов WMQ
 */
public class WMQTestSimple extends WMQTest {
  
  /*
   * (не-Javadoc)
   * 
   * @see com.ibm.mq.explorer.tests.WMQTest#runTest(com.ibm.mq.explorer.tests.internal.actions.WMQTestEngine,
   * org.eclipse.core.runtime.IProgressMonitor, com.ibm.mq.explorer.ui.extensions.MQExtObject[],
   * java.lang.String)
   */  
   public void runTest(WMQTestEngine callback, IProgressMonitor guimonitor,
      MQExtObject[] contextObjects, TreeNode treenodeId) {

    // Запустить с реализацией по умолчанию. При этом комплект сохранится
    // в службе тестов, необходимой при отправке
    // результатов в конце теста
    super.runTest(callback, guimonitor, contextObjects, treenodeId);

    // подготовить пространство для хранения результатов теста
    ArrayList testresults = new ArrayList();

    // инициализирует компонент индикатора состояния GUI, используемый для отображения выполнения (4 этапа)
    guimonitor.beginTask(getTestName(), 4);

    // Цикл с 4 итерациями, увеличивающий счетчик выполнения на 1 на каждой итерации
    for (int k = 0; k < 4; k++) {
      try {
        // Ожидание, как-будто мы выполняем какую-то работу
        Thread.sleep(900);
      }
      catch (InterruptedException e) {
      }

      // увеличить строку состояния GUI для отображения выполнения, выполнено одно ожидание
      guimonitor.worked(1);
    }

    // Создать новый результат теста и добавить его к массиву результатов
    testresults.add(new WMQTestResult(IMarker.SEVERITY_INFO, "ПРИМЕР: наш тест добавления сработал!", //$NON-NLS-1$
        "Имя объекта", getTestSubCategory())); //$NON-NLS-1$

    // упаковка результатов и повторный запуск - тест завершен.
    testComplete((WMQTestResult[]) testresults.toArray(new WMQTestResult[testresults.size()]));
  }
}