Добавление поддержки нескольких тестовых наборов в процесс автоматизации устройства Eclipse PDE - PullRequest
0 голосов
/ 26 мая 2011

Здесь я пытаюсь адаптировать процесс автоматизации модульного тестирования pde [1] для обработки нескольких наборов тестов.В статье используется org.eclipse.jdt.internal.junit.model.ITestRunListener2, который не может обрабатывать несколько наборов тестов.Я думаю об использовании org.eclipse.jdt.junit.TestRunListener вместо этого.

Я попытался преобразовать включенную реализацию org.eclipse.jdt.internal.junit.model.ITestRunListener2 для реализации junit.runner.TestRunListener, так как метод testRunStarted () включает параметр имени набора тестов, но не смогнайдите любой пример того, как адаптировать org.eclipse.jdt.internal.junit.model.RemoteTestRunnerClient к его использованию (я не уверен, даже если протокол результатов теста PDE его поддерживает).

  1. Будетс помощью JUnitCore.addTestRunListener (слушатель) сможет заменить весь подход тест-результаты-слушатель?нет необходимости запускать тесты удаленно.
  2. Любые другие предложения о том, как добавить поддержку нескольких пакетов в [1]?

[1] http://www.eclipse.org/articles/article.php?file=Article-PDEJUnitAntAutomation/index.html


Здравствуйте, это OP, не удалось добавить коммент. Ответ Пола Вебстера, поэтому я публикую это.

С RemoteTestRunnerClient дело в том, что он делегирует уведомления своим слушателям согласнок протоколу, определенному в org.eclipse.jdt.internal.junit.runner.MessageId, с сообщениями, читаемыми из сокета TCP.Проблема заключается в том, что сообщения TEST_RUN_START / END не содержат имя набора, в результате чего все тесты связаны с одним и тем же набором.

Я взглянул на Eclipse Test Framework при настройке автоматизированной среды тестирования, но не смог найти веских причин, чтобы поддержать его по сравнению с подходом, предложенным в статье.Я не уверен, но я думаю, что причина, по которой статьи не использовали ETF, заключалась в недостаточной поддержке агрегации результатов тестирования.Теперь я могу оценить, какие наборы должны запускаться через файлы test.xml, поскольку в настоящее время я использую аргумент -classnames, передаваемый приложению org.eclipse.pde.junit.runtime.coretestapplication.Я не возражал бы рассмотреть возможность перехода на ETF, но хотел бы заранее иметь веские причины для этого.

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

1 Ответ

0 голосов
/ 26 мая 2011

Я не думаю, что вы должны что-либо делать с w.r.t. RemoteTestRunnerClient. Требуется ITestRunListener2, который реализуется TestSessionNotifier. Это выдает события в ITestSessionListener, реализованные TestRunListenerAdapter, который перенаправляет их в TestRunListener

Как говорится, одним из указателей в этой статье был Eclipse Test Framework [1].

Мы используем его для запуска наших тестов плагинов. После получения самой платформы каждому тестовому плагину просто необходим файл test.xml [2]. Этот файл может содержать тесты пользовательского интерфейса и тесты без заголовка, а также может содержать несколько TestSuites для этого плагина. Я связал наш пример.

[1] http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.test/testframework.html?view=co

[2] http://dev.eclipse.org/viewcvs/viewvc.cgi/e4/org.eclipse.e4.ui/tests/org.eclipse.e4.ui.tests/test.xml?view=co&content-type=text%2Fplain

...