TestNG
Last updated
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
<reportFormat>xml</reportFormat>
<reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
</configuration>
</plugin>test {
useTestNG() {
suites 'src/test/resources/testng.xml'
}
reports {
junitXml.enabled = true
junitXml.destination = file("$buildDir/test-results/test")
}
testLogging {
events "passed", "skipped", "failed"
}
}
dependencies {
testImplementation 'org.testng:testng:7.8.0'
}<?xml version="1.0" encoding="UTF-8"?>
<suite name="TestSuite" verbose="1">
<test name="TestNGTests">
<classes>
<class name="com.example.tests.SampleTest"/>
</classes>
</test>
</suite>$ npm install -g @testfiesta/tacotrucktacotruck testfiesta \
run:submit \
--token testfiesta_... \
--handle orgHandle \
--project projectKey \
--name runName \
--data target/surefire-reports/*.xmlname: testng-tests
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Cache Maven dependencies
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: 🧪 Run TestNG Tests
run: mvn clean test
- name: Report Results
if: always()
uses: testfiesta/tacotruck-action@v1
with:
provider: testfiesta
handle: handle
project: project
base-url: https://api.testfiesta.com
credentials: ${{ secrets.TESTFIESTA_API_KEY }}
run-name: TestNG CI run ${{ github.run_number }}
results-path: ./target/surefire-reports/*.xmlname: testng-gradle-tests
on:
pull_request:
branches:
- main
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: 🧪 Run TestNG Tests
run: ./gradlew test
- name: Report Results
if: always()
uses: testfiesta/tacotruck-action@v1
with:
provider: testfiesta
handle: handle
project: project
base-url: https://api.testfiesta.com
credentials: ${{ secrets.TESTFIESTA_API_KEY }}
run-name: TestNG Gradle CI run ${{ github.run_number }}
results-path: ./build/test-results/test/*.xml<?xml version="1.0" encoding="UTF-8"?>
<suite name="ParallelTestSuite" parallel="methods" thread-count="3">
<test name="ParallelTests">
<classes>
<class name="com.example.tests.ParallelTest"/>
</classes>
</test>
</suite><plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<parallel>methods</parallel>
<threadCount>3</threadCount>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>