Skip to content

Commit 73a1843

Browse files
authored
Merge pull request #1984 from Proryanator/master
Feature: Make method for error details, that can encourage downstream customization of SoftAssert errors
2 parents f1111e0 + a673eed commit 73a1843

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

CHANGES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Current
2+
New: Added a method in Assertion class to allow downstream TestNG consumers to override the error message (Ryan Laseter)
23
Fixed: GITHUB-165: @AfterGroups is not executed when group member fails or is skipped (Krishnan Mahadevan)
34
Fixed: GITHUB-118: @BeforeGroups only called if group is specified explicitly (Krishnan Mahadevan)
45
Fixed: GITHUB-182: Inherited test methods do not get expected group behavior (Krishnan Mahadevan)

src/main/java/org/testng/asserts/Assertion.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -743,4 +743,21 @@ public void doAssert() {
743743
}
744744
});
745745
}
746+
747+
/***
748+
* Override this method should you want to change
749+
* the default way Throwable objects are logged.
750+
* @param error Throwable of the Assertion
751+
* @return default throwable formatted message for TestNG
752+
*/
753+
protected String getErrorDetails(Throwable error) {
754+
StringBuilder sb = new StringBuilder();
755+
sb.append(error.getMessage());
756+
Throwable cause = error.getCause();
757+
while (cause != null) {
758+
sb.append(" ").append(cause.getMessage());
759+
cause = cause.getCause();
760+
}
761+
return sb.toString();
762+
}
746763
}

src/main/java/org/testng/asserts/SoftAssert.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,7 @@ public void assertAll() {
3737
sb.append(",");
3838
}
3939
sb.append("\n\t");
40-
sb.append(error.getMessage());
41-
Throwable cause = error.getCause();
42-
while (cause != null) {
43-
sb.append(" ").append(cause.getMessage());
44-
cause = cause.getCause();
45-
}
40+
sb.append(getErrorDetails(error));
4641
}
4742
throw new AssertionError(sb.toString());
4843
}

0 commit comments

Comments
 (0)