Skip to content

Commit d84ee58

Browse files
committed
Create AssertionFailedError with reason
1 parent ca0fec1 commit d84ee58

File tree

4 files changed

+28
-8
lines changed

4 files changed

+28
-8
lines changed

documentation/documentation.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ val tools by sourceSets.creating
5454
val toolsImplementation by configurations.getting
5555

5656
dependencies {
57+
repositories {
58+
// TODO: Remove
59+
mavenLocal()
60+
}
61+
5762
implementation(projects.junitJupiterApi) {
5863
because("Jupiter API is used in src/main/java")
5964
}

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ junit4 = "4.13.2"
1212
junit4Min = "4.12"
1313
ktlint = "1.8.0"
1414
log4j = "2.25.3"
15-
opentest4j = "1.3.0"
15+
opentest4j = "1.4.0-SNAPSHOT"
1616
openTestReporting = "0.2.5"
1717
snapshotTests = "1.11.0"
1818
surefire = "3.5.5"

junit-jupiter-api/src/main/java/org/junit/jupiter/api/AssertionFailureBuilder.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,20 +192,33 @@ public void buildAndThrow() throws AssertionFailedError {
192192
*/
193193
public AssertionFailedError build() {
194194
String reason = nullSafeGet(this.reason);
195+
var assertionFailedError = new AssertionFailedError( //
196+
formatExceptionMessage(reason), //
197+
formatReason(reason), //
198+
expected, //
199+
actual, //
200+
cause //
201+
);
202+
maybeTrimStackTrace(assertionFailedError);
203+
return assertionFailedError;
204+
}
205+
206+
private @Nullable String formatReason(@Nullable String reason) {
207+
if (mismatch) {
208+
return (reason == null ? "" : reason + ", ") + "expected did not match actual";
209+
}
210+
return reason;
211+
}
212+
213+
private @Nullable String formatExceptionMessage(@Nullable String reason) {
195214
if (mismatch && includeValuesInMessage) {
196215
reason = (reason == null ? "" : reason + ", ") + formatValues(expected, actual);
197216
}
198217
String message = nullSafeGet(this.message);
199218
if (reason != null) {
200219
message = buildPrefix(message) + reason;
201220
}
202-
203-
var assertionFailedError = mismatch //
204-
? new AssertionFailedError(message, expected, actual, cause) //
205-
: new AssertionFailedError(message, cause);
206-
207-
maybeTrimStackTrace(assertionFailedError);
208-
return assertionFailedError;
221+
return message;
209222
}
210223

211224
private void maybeTrimStackTrace(Throwable throwable) {

settings.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ plugins {
1515
dependencyResolutionManagement {
1616
repositories {
1717
mavenCentral()
18+
// TODO: Remove
19+
mavenLocal()
1820
}
1921
}
2022

0 commit comments

Comments
 (0)