Не могу запустить мой тест только из одного класса, используя testNG, maven, NetBeans - PullRequest
0 голосов
/ 05 июля 2018

Я создал Maven Java проект с pom.xml Затем в пакете «test» были созданы два варианта TestNG с именами «Test1.java» и «Test2.java». Также добавлен 'NewTestNGSuite.xml' 'NewTestNGSuite.xml' Test1.java содержит:

package tests;

import static org.testng.Assert.*;
import org.testng.annotations.Test;

public class Test1 {

    public Test1() {
    }
    @Test
     public void test_01() {
         System.out.println("\nFIRST!");
     }
     @Test
     public void test_02() {
         System.out.println("\nSECOND!");
     }
}

Test2.java содержит:

    package tests;

    import static org.testng.Assert.*;
    import org.testng.annotations.Test;

    public class Test2 {

        public Test2() {
        }
        @Test
         public void test_03() {
             System.out.println("\nTHIRD!");
         }
         @Test
         public void test_04() {
             System.out.println("\nFOURTH!");
         }
    }

NewTestNGSuite.xml содержит:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="tests" verbose="1">
   <test name="Test1" parallel="false">
        <classes>
                <class name="tests.Test1"/>
        </classes>
    </test>
</suite>

Когда я щелкаю правой кнопкой мыши по NewTestNGSuite.xml и затем «Тестовый файл», он запускает все мои тесты из Test1.java и из Test2.java

Результаты

Что мне делать, чтобы запускать тесты только из Test1.java с использованием NewTestNGSuite.xml?

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>testNG</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
      <dependencies>
            <dependency>
                   <groupId>org.testng</groupId>
                   <artifactId>testng</artifactId>
                   <version>6.8</version>
                   <type>jar</type>
            </dependency>
      </dependencies>
</project>

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

В идеале, он должен выполнять только класс Test1 в соответствии с определенным классом.

Не могли бы вы обновить версию зависимости Testng до 6.14.3 Я видел, что вы используете более старую версию.

Обязательно очистите maven и проверьте его.

0 голосов
/ 06 июля 2018

попытайтесь сохранить только это в вашем XML и попробуйте снова.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="tests">
    <test name="Test1">
        <classes>
            <class name="tests.Test1"/>
        </classes>
    </test>
</suite>

подробное и параллельное замедление не являются обязательными.

0 голосов
/ 05 июля 2018

Попробуйте добавить нужный файл xml в файл pom.xml под плагином surefire:

    <build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <pluginManagement>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.0</version>
    <configuration>
      <suiteXmlFiles>
     <suiteXmlFile>NewTestNGSuite.xml</suiteXmlFile>
      </suiteXmlFiles>
    </configuration>
  </plugin>
        </plugins>
    </pluginManagement>
</build>

Или просто добавьте плагин surefire и выберите свой xml-файл командой maven:

mvn -Dsurefire.suiteXmlFiles=NewTestNGSuite.xml test

Полагаю, вы можете настроить каждую команду maven из NetBeans.

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