Каковы последствия указания разных слушателей в разных частях конфигурации TestNG? - PullRequest
0 голосов
/ 22 февраля 2012

Описание проблемы:

Программа установки выполняет скрипт сборки Ant с целевым объектом TestNG, который затем загружает файл testng.xml. Существует возможность указать слушателей как в файле Ant , так и в testng.xml .

вопросы возникают следующим образом:

  1. Будут ли поддерживаться оба способа настройки? Будут ли все слушатели, указанные в обоих местах конфигурации, использоваться во время выполнения теста?
  2. Будет ли кто-нибудь из слушателей иметь приоритет перед другим? Если да, то как?

Пример установки:

Файл Ant:

<project>
<property name="classes.dir" path="<my_classes_dir>" />
<property name="test.dir" path="<my_test_dir>" />
<target name="run-test">
    <testng useDefaultListeners="false"
          listeners="org.testng.reporters.EmailableReporter, org.testng.reporters.XMLReporter, com.example.MyCustomReporter">
        <classpath>
          <path path="${classes.dir}" />
        </classpath>
      <xmlfileset dir="${test.dir}" includes="testng.xml" />
    </testng>
</target>
</project>

TestNG.xml:

<suite name="MyTestSuite">
    <listeners>
        <listener class-name="com.example.MyListener" />
        <listener class-name="org.testng.reporters.FailedReporter" />
    </listeners>
    <test name="MyTest1">
        <classes>
            <class name="com.example.MyTest1" />
        </classes>
    </test>
</suite>

Справочная информация:

Я должен поддержать существующий проект, который использует настройки, аналогичные описанным выше. Файл сборки Ant отключает репортеров по умолчанию. Не касаясь файла сборки Ant, я хотел бы указать дополнительные прослушиватели отчетов (FailedReporter и / или любые другие) для моих тестов в testng.xml.

1 Ответ

1 голос
/ 23 февраля 2012

Я считаю, что все слушатели должны быть запущены, как в вашем файле сборки, так и в вашем testng.xml.Слушатели testng.xml будут выполняться вторыми.Если один и тот же слушатель указан в обоих файлах сборки и testng.xml, он будет выполнен дважды.

Это основано на моем опыте работы с Maven, но я предполагаю, что с ant это должно быть одинаково.Кроме того, порядок прослушивателей, указанный в testng.xml, не может быть гарантирован, если оба реализуют один и тот же набор интерфейсов.

Надеюсь, это поможет.

...