Тесты Maven не запускаются при выполнении из командной строки - PullRequest
1 голос
/ 10 июля 2020

Я пытаюсь запустить один проект из командной строки с помощью команды mvn test. Он показывает успех сборки, но не запускает никаких тестов. Я использую TestNG. Вывод в консоль:

enter image description here

I have tried all the suggestions provided in StackOverflow but still, it's not running. I don't have surefire plugin as well. Please let me know what I am missing here.

Here is my pom.xml:

 4.0.0  com.way2automation. www*1009* SecondMavenTest  0.0.1-SNAPSHOT   org.seleniumhq.selenium  selenium- java 3.141.59    io.github.bonigarcia  webdrivermanager  3.8.1    log4j  log4j  1.2.17   mysql mysql -коннектор- java 8.0.19    javax.mail  почта  1.4.7    org.testng  testng  6.14.3  test    org.uncommons  reportng  1.1.4  test    com.google.inject  guice  4.2.3    орг. apache .poi  poi  4.1.1    орг. apache .poi  poi-oo xml 4.1.1    dom4j  dom4j  1.6.1    орг. apache .xmlbeans  xmlbeans  3.1.0    орг. apache .poi  poi-oo xml -схемы  4.1.1     

скриншот maven cmd

Вот мой XML файл

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="TestNG Suite">


    <listeners>
        <listener class-name="customListeners.CustomListeners"></listener>
        <listener class-name="org.uncommons.reportng.HTMLReporter"></listener>
    </listeners>


    <test name="BankManagerLogin">
        <classes>
            <class name="testcases.BankManagerLogin" />
        </classes>
    </test>
    
    <test name=" AddCustomerLogin ">
        <classes>
            <class name="testcases.AddCustomerLogin" />
        </classes>
    </test>
    
        <test name=" OpenAccount">
        <classes>
            <class name="testcases.OpenAccount" />
        </classes>
    </test>
    

    
</suite> <!-- Suite -->

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Исправление очень естественное!

Вы находитесь в текущем каталоге CWD , ваш POM находится в / pom. xml, вы запускаете mvn test , и ваша конфигурация говорит testng. xml.

Итак, topi c должен быть назван «Где должен быть testng. xml» .

Если в конфигурации указано testng. xml, тогда Suite XML должен находиться по адресу:

/ testng. xml

тот же каталог, где находится POM - /pom.xml

Но если вы настроите src / test / resources / testng. xml, то реальное расположение TestNG Suite XML будет:

/ src / test / resources / testng. xml, где " / " - это CWD - это именно каталог, в который помещается pom. xml, а затем src / test / resources - подкаталоги.

Пожалуйста, прочтите документацию!

Особенно см. Эту часть в документации:

      <suiteXmlFiles>
        <file>src/test/resources/testng1.xml</file>
        <file>src/test/resources/testng2.xml</file>
      </suiteXmlFiles>

https://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html#Running_Tests_in_Parallel

0 голосов
/ 10 июля 2020

Необходимо настроить следующие плагины для запуска теста с использованием maven:

  1. Добавить Maven-compiler-plugin : Compiler-plugin используется для компиляции исходников нашего проекта

      <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
                 <compilerVersion>3.5.1</compilerVersion>
                 <source>8</source>
                 <target>8</target>
             </configuration>
         </plugin>
    
  2. Add Maven-surefire-plugin : Surefire-plugin отвечает за запуск тесты, помещенные в каталог исходных текстов тестов /src/test/java.

       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <version>3.0.0-M5</version>
         <configuration>
           <suiteXmlFiles>
             <suiteXmlFile>testng.xml</suiteXmlFile>
           </suiteXmlFiles>
         </configuration>
       </plugin>
    

Оба плагина должны находиться под тегом <plugins>. Замените здесь относительный путь к файлу testng.xml. например, имя папки config, созданное в вашем проекте и помещенное в файл testng. xml, тогда xml путь будет config/testng.xml.

...