From 1fb81b415605d2d5ea8fa34ac6d05e02750a0ce6 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 15 Aug 2023 23:06:39 -0700 Subject: [PATCH] Added failWhenEverythingSkipped command line option --- src/main/java/rife/bld/extension/TestNgOperation.java | 8 ++++++++ .../java/rife/bld/extension/TestNgOperationTest.java | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/rife/bld/extension/TestNgOperation.java b/src/main/java/rife/bld/extension/TestNgOperation.java index 2274964..7a04f0a 100644 --- a/src/main/java/rife/bld/extension/TestNgOperation.java +++ b/src/main/java/rife/bld/extension/TestNgOperation.java @@ -162,6 +162,14 @@ public class TestNgOperation extends AbstractProcessOperation { return this; } + /** + * Should TestNG fail execution if all tests were skipped and nothing was run. + */ + public TestNgOperation failWhenEverythingSkipped(Boolean isFailAllSkipped) { + options.put("-failwheneverythingskipped", String.valueOf(isFailAllSkipped)); + return this; + } + /** * Whether TestNG should continue to execute the remaining tests in the suite or skip them if in a {@code @Before*} * method. diff --git a/src/test/java/rife/bld/extension/TestNgOperationTest.java b/src/test/java/rife/bld/extension/TestNgOperationTest.java index ed1b06b..7f13c70 100644 --- a/src/test/java/rife/bld/extension/TestNgOperationTest.java +++ b/src/test/java/rife/bld/extension/TestNgOperationTest.java @@ -105,6 +105,15 @@ class TestNgOperationTest { .doesNotThrowAnyException(); } + @Test + void testFailWheneverEverythingSkipped() { + var op = new TestNgOperation().failWhenEverythingSkipped(false); + assertThat(op.options.get("-failwheneverythingskipped")).isEqualTo("false"); + + op = new TestNgOperation().failWhenEverythingSkipped(true); + assertThat(op.options.get("-failwheneverythingskipped")).isEqualTo("true"); + } + @Test void testFailurePolicy() { var op = new TestNgOperation().failurePolicy(TestNgOperation.FailurePolicy.CONTINUE);