Class CustomSoftAssert
java.lang.Object
org.testng.asserts.Assertion
org.testng.asserts.SoftAssert
com.shaft.validation.internal.CustomSoftAssert
- All Implemented Interfaces:
org.testng.asserts.IAssertLifecycle
public class CustomSoftAssert
extends org.testng.asserts.SoftAssert
Enhanced SoftAssert implementation that provides clickable stack traces for failed assertions.
This improves the developer experience when debugging test failures in IDEs and CI logs.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidstatic StringformatFailureWithStackTrace(AssertionError ex, String rootPackage) Gets the formatted failure message with clickable stack trace for a given AssertionError.voidonAssertFailure(org.testng.asserts.IAssert<?> assertCommand, AssertionError ex) voidsetRootPackage(String rootPackage) Allows configuring the root package used when filtering stack trace elements.Methods inherited from class org.testng.asserts.SoftAssert
assertAllMethods inherited from class org.testng.asserts.Assertion
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualsNoOrder, assertEqualsNoOrder, assertFalse, assertFalse, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotEquals, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, executeAssert, fail, fail, fail, onAfterAssert, onAssertSuccess, onBeforeAssert
-
Constructor Details
-
CustomSoftAssert
public CustomSoftAssert()
-
-
Method Details
-
setRootPackage
Allows configuring the root package used when filtering stack trace elements.- Parameters:
rootPackage- the root package prefix (e.g., "testPackage", "tests", "com.shaft")
-
onAssertFailure
- Specified by:
onAssertFailurein interfaceorg.testng.asserts.IAssertLifecycle- Overrides:
onAssertFailurein classorg.testng.asserts.Assertion
-
assertAll
public void assertAll()- Overrides:
assertAllin classorg.testng.asserts.SoftAssert
-
clearFailures
public void clearFailures() -
formatFailureWithStackTrace
Gets the formatted failure message with clickable stack trace for a given AssertionError. This method can be used independently to format stack traces. Uses standard Java stack trace format: at package.Class.method(File.java:lineNumber) The stack trace line starts with "at " on its own line for maximum IDE/CI clickability.- Parameters:
ex- The AssertionError to formatrootPackage- The root package name to filter stack trace elements (e.g., "testPackage", "tests", "com.shaft")- Returns:
- Formatted failure message with clickable stack trace, or null if no matching stack element found
-