Tartalomjegyzék

< TestNG

TestNG - Maven

Maven pom.xml

Az 1.8-as Java helyett állítsunk be 17-t:

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>7.8.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.36</version>
        </dependency>
        <dependency>
            <groupId>org.jcommander</groupId>
            <artifactId>jcommander</artifactId>
            <version>1.83</version>
        </dependency>        
    </dependencies>

Java classpath szinkronizálás

Ha átírtuk a pom.xml állományt a VSCode feldob egy ablakot a jobb alsó sarokban:

A build file was modified. Do you want to synchronize
the Java classpath/configuration?

Source: Language Support for Java(TM...  [ Yes ] [ Always ] [ Never ]

Válaszoljunk Yes vagy Always-el.

Verzió konfliktus

Ha minden csomagból a legújabbat verziót állítjuk be függőségnek konfliktushoz vezethet.

Jelenlegi slf4j-api verzió 2.0.9. De a testng 7.8.0-nak az slf4j-api-ból a 1.7.36 verzió szükséges. H a 2.0.9-s slf4j-api töltjük le, akkor a következő hibaüzenet mutatja a VSCode szerkesztő:

Dependency conflict in testng: org.slf4j:slf4j-api:1.7.36 
conflict with 2.0.9(Maven dependency conflict)

Java verzió konfliktus

Lehetséges hibaüzenet:

java.lang.UnsupportedClassVersionError: 
org/testng/ITestNGListener has been 
compiled by a more recent version of 
the Java Runtime

A maven.compiler.target értéket 1.8-ról állítsuk nagyobbra. Már 1.9 beállítással is működik a tesztelés.