Как заставить плагин maven-surefire работать с TestNG в Eclipse - PullRequest
1 голос
/ 04 июня 2011

Я не могу заставить этих двух работать вместе в затмении

Я могу настроить плагин surefire следующим образом

<suiteXmlFiles>
        <suiteXmlFile>${basedir}/src/test/resources/testng.xml</suiteXmlFile>
    </suiteXmlFiles>
    <testResources>
        <testResource>
            <directory>${project.basedir}/src/test/java</directory>
            <includes>
                <include>**/*.*</include>
            </includes>
        </testResource>
        <testResource>
            <directory>${project.basedir}/src/test/resources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </testResource>
    </testResources>

и запустите $mvn test, и все ресурсы скомпилированы и перемещены в /target/test-classes, что прекрасно работает.

Но если я запускаю $mvn clean, а затем использую представление TestNG для запуска некоторых тестов, в /target/test-classes ничего не будет скомпилировано, так что мне придется либо запустить фазу тестирования до этого, либо каким-либо образом использовать цель maven-compiler-plugin:testCompile скомпилировать тестовые ресурсы ...

, но maven-compiler-plugin:2.3.2:testCompile не настроен как верный плагин через конфигурацию testResources. Он просто компилирует исходный код теста в классы теста

Что я должен сделать, чтобы testNG работал так, как будто я запускаю верный плагин? Мне как-то нужен эффект, который получается от <testResources>

1 Ответ

1 голос
/ 04 июня 2011

testResources & resources является частью maven-resources-plugin

compile & test-compile является частью maven-compiler-plugin

Так что все, что вам нужно сделать, это нажать кнопку, которая вызывает все эти фазы& цели перед запуском тестов через представление TestNG

compile 
test-compile
maven-resources-plugin:resources 
maven-resources-plugin:testResources 

Кроме того, и это очень важно, когда вы запускаете тест (ы) из представления TestNG, eclipse создает временное определение testng.xml с тестом (s) вы щелкнули, либо тест, либо класс тестов.Таким образом, дополнительные настройки в testng.xml, которые вы имеете при запуске через плагин SureFire, теряются, если вы используете конфигурацию запуска testNG через Eclipse Run As ... это выглядит так

/tmp/testng-eclipse-388280625/testng-customsuite.xml

-

<suite name="Default suite">
  <test verbose="2" name="Default test">
    <classes>
      <class name="com.example.tests.selenium.SubmitUploadFormTest"/>
    </classes>
  </test>
</suite>

Есть удобный способ справиться с этим - настроить шаблон файла testng.xml в настройках eclipse testng.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...