Added support for JaCoCo extension. Closes #2
This commit is contained in:
parent
63635f408b
commit
4d4479bf23
6 changed files with 36 additions and 36 deletions
29
README.md
29
README.md
|
@ -1,6 +1,5 @@
|
|||
# [bld](https://rife2.com/bld) Extension to Run Tests with [TestNG](https://testng.org/)
|
||||
|
||||
|
||||
[](https://opensource.org/licenses/Apache-2.0)
|
||||
[](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
|
||||
[](https://rife2.com/bld)
|
||||
|
@ -13,29 +12,11 @@ To install, please refer to the [extensions documentation](https://github.com/ri
|
|||
To run the tests with TestNG, add the following to your build file:
|
||||
|
||||
```java
|
||||
@BuildCommand(summary = "Tests the project with TestNG")
|
||||
public void testng() throws Exception {
|
||||
new TestNgOperation()
|
||||
.fromProject(this)
|
||||
.packages("com.example")
|
||||
.execute();
|
||||
}
|
||||
```
|
||||
|
||||
```console
|
||||
./bld compile testng
|
||||
```
|
||||
|
||||
You could also override the default `test` command:
|
||||
|
||||
```java
|
||||
@BuildCommand(summary = "Tests the project with TestNG")
|
||||
public void test throws Exception {
|
||||
new TestNgOperation()
|
||||
.fromProject(this)
|
||||
.suites("src/test/resources/testng.xml")
|
||||
.verbose(2)
|
||||
.execute();
|
||||
@Override
|
||||
public TestOperation<?, ?> testOperation() {
|
||||
return new TestNgOperation()
|
||||
.fromProject(this)
|
||||
.packages("com.example");
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -3,3 +3,9 @@ Compile and Run Tests with TestNG
|
|||
```console
|
||||
./bld compile test
|
||||
```
|
||||
|
||||
Compile and Generate JaCoCo Reports
|
||||
|
||||
```console
|
||||
./bld compile jacoco
|
||||
```
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
bld.downloadExtensionJavadoc=false
|
||||
bld.downloadExtensionSources=true
|
||||
bld.extensions=com.uwyn.rife2:bld-testng:0.9.4
|
||||
bld.extensions=com.uwyn.rife2:bld-testng:0.9.5
|
||||
bld.extension.jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.5
|
||||
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
|
||||
bld.downloadLocation=
|
||||
bld.sourceDirectories=
|
||||
|
|
|
@ -2,8 +2,11 @@ package com.example;
|
|||
|
||||
import rife.bld.BaseProject;
|
||||
import rife.bld.BuildCommand;
|
||||
import rife.bld.extension.JacocoReportOperation;
|
||||
import rife.bld.extension.TestNgOperation;
|
||||
import rife.bld.operations.TestOperation;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import static rife.bld.dependencies.Repository.MAVEN_CENTRAL;
|
||||
|
@ -13,20 +16,29 @@ import static rife.bld.dependencies.Scope.test;
|
|||
* Example build.
|
||||
*
|
||||
* <ul style="list-style-type:none">
|
||||
* <li>./bld compile test</li>
|
||||
* <li>{@code ./bld compile test}</li>
|
||||
* <li>{@code ./bld compile jacoco}</li>
|
||||
* </ul>
|
||||
*/
|
||||
public class ExamplesBuild extends BaseProject {
|
||||
@Override
|
||||
public TestOperation<?, ?> testOperation() {
|
||||
return new TestNgOperation()
|
||||
.fromProject(this)
|
||||
.packages("com.example");
|
||||
}
|
||||
|
||||
public ExamplesBuild() {
|
||||
pkg = "com.example";
|
||||
name = "Examples";
|
||||
version = version(0, 1, 0);
|
||||
|
||||
javaRelease = 17;
|
||||
downloadSources = true;
|
||||
autoDownloadPurge = true;
|
||||
|
||||
repositories = List.of(MAVEN_CENTRAL);
|
||||
|
||||
|
||||
scope(test).include(dependency("org.testng", "testng", version(7, 9, 0)));
|
||||
}
|
||||
|
||||
|
@ -34,11 +46,10 @@ public class ExamplesBuild extends BaseProject {
|
|||
new ExamplesBuild().start(args);
|
||||
}
|
||||
|
||||
@BuildCommand(summary = "Tests the project with TestNG")
|
||||
public void test() throws Exception {
|
||||
new TestNgOperation()
|
||||
@BuildCommand(summary = "Generates Jacoco Reports")
|
||||
public void jacoco() throws IOException {
|
||||
new JacocoReportOperation()
|
||||
.fromProject(this)
|
||||
.packages("com.example")
|
||||
.execute();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ public class TestNgOperationBuild extends Project {
|
|||
public TestNgOperationBuild() {
|
||||
pkg = "rife.bld.extension";
|
||||
name = "bld-testng";
|
||||
version = version(0, 9, 4);
|
||||
version = version(0, 9, 5);
|
||||
|
||||
javaRelease = 17;
|
||||
downloadSources = true;
|
||||
|
@ -76,7 +76,7 @@ public class TestNgOperationBuild extends Project {
|
|||
.license(
|
||||
new PublishLicense()
|
||||
.name("The Apache License, Version 2.0")
|
||||
.url("http://www.apache.org/licenses/LICENSE-2.0.txt")
|
||||
.url("https://www.apache.org/licenses/LICENSE-2.0.txt")
|
||||
)
|
||||
.scm(
|
||||
new PublishScm()
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
package rife.bld.extension;
|
||||
|
||||
import rife.bld.BaseProject;
|
||||
import rife.bld.operations.AbstractProcessOperation;
|
||||
import rife.bld.operations.TestOperation;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
@ -37,7 +37,7 @@ import java.util.stream.Collectors;
|
|||
* @since 1.0
|
||||
*/
|
||||
@SuppressWarnings("PMD.TestClassWithoutTestCases")
|
||||
public class TestNgOperation extends AbstractProcessOperation<TestNgOperation> {
|
||||
public class TestNgOperation extends TestOperation<TestNgOperation, List<String>> {
|
||||
private static final Logger LOGGER = Logger.getLogger(TestNgOperation.class.getName());
|
||||
/**
|
||||
* The run options.
|
||||
|
@ -151,11 +151,12 @@ public class TestNgOperation extends AbstractProcessOperation<TestNgOperation> {
|
|||
}
|
||||
|
||||
if (!options.containsKey("-d")) {
|
||||
options.put("d", Path.of(project.buildDirectory().getPath(), "test-output").toString());
|
||||
options.put("-d", Path.of(project.buildDirectory().getPath(), "test-output").toString());
|
||||
}
|
||||
|
||||
final List<String> args = new ArrayList<>();
|
||||
args.add(javaTool());
|
||||
args.addAll(this.javaOptions());
|
||||
|
||||
args.add("-cp");
|
||||
if (testClasspath.isEmpty()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue