diff --git a/core-java-modules/core-java-numbers/src/test/java/com/ossez/number/foramt/NumberFormatExceptionTest.java b/core-java-modules/core-java-numbers/src/test/java/com/ossez/number/foramt/NumberFormatExceptionTest.java index 8c50e792df..0a7cb69643 100644 --- a/core-java-modules/core-java-numbers/src/test/java/com/ossez/number/foramt/NumberFormatExceptionTest.java +++ b/core-java-modules/core-java-numbers/src/test/java/com/ossez/number/foramt/NumberFormatExceptionTest.java @@ -2,13 +2,14 @@ package com.ossez.number.foramt; import org.apache.commons.lang3.math.NumberUtils; +import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; import java.util.Arrays; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.assertj.core.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertThrows; /** @@ -26,20 +27,25 @@ public class NumberFormatExceptionTest { @Test public void ConstructorNumberFormatException() { -// Exception exception = assertThrows(NumberFormatException.class, () -> { -// new Integer("one"); -// }); +// JUNIT 5 Assert + Exception exception = assertThrows(NumberFormatException.class, () -> { + new Integer("one"); + }); + System.out.println(exception); - assertThatThrownBy(() -> { +// AssertJ assertThatThrownBy + assertThatThrownBy(() -> { new Integer("one"); }).isInstanceOf(NumberFormatException.class).hasMessageStartingWith("For input string"); -// System.out.println(exception); + // AssertJ assertThatExceptionOfType + assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> { + new Integer("one"); + }); - Integer aIntegerObj = new Integer("1"); // Integer aIntegerObj = new Integer("one"); - Double doubleDecimalObj = new Double("two.2"); +// Double doubleDecimalObj = new Double("two.2"); } diff --git a/testing-modules/assertion-libraries/README.md b/testing-modules/assertion-libraries/README.md index 5483bcf194..0f45125ac2 100644 --- a/testing-modules/assertion-libraries/README.md +++ b/testing-modules/assertion-libraries/README.md @@ -7,8 +7,6 @@ 如果计算结果为 false ,则断言失败,抛出 AssertionError。 -assertion(断言) 在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。 - ### 相关文章 - [AssertJ’s Java 8 Features](http://www.baeldung.com/assertJ-java-8-features) @@ -19,4 +17,4 @@ assertion(断言) 在软件开发中是一种常用的调试方式,很多开 - [Guide to JSpec](http://www.baeldung.com/jspec) - [Custom Assertions with AssertJ](http://www.baeldung.com/assertj-custom-assertion) - [Using Conditions with AssertJ Assertions](http://www.baeldung.com/assertj-conditions) -- [AssertJ Exception Assertions](http://www.baeldung.com/assertj-exception-assertion) +- [AssertJ 的异常(Exception )断言](https://www.ossez.com/t/assertj-exception/13988) diff --git a/testing-modules/assertion-libraries/src/test/java/com/ossez/assertj/exceptions/Java8StyleAssertions.java b/testing-modules/assertion-libraries/src/test/java/com/ossez/assertj/exceptions/Java8StyleAssertions.java index 266e4e5c73..c1a9cd08dc 100644 --- a/testing-modules/assertion-libraries/src/test/java/com/ossez/assertj/exceptions/Java8StyleAssertions.java +++ b/testing-modules/assertion-libraries/src/test/java/com/ossez/assertj/exceptions/Java8StyleAssertions.java @@ -8,8 +8,15 @@ import static org.assertj.core.api.Assertions.catchThrowable; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; + import org.junit.Test; +/** + * AssertJ Exception example + *

https://www.ossez.com/t/assertj-exception/13988

+ * + * @author YuCheng Hu + */ public class Java8StyleAssertions { @Test @@ -18,13 +25,11 @@ public class Java8StyleAssertions { ArrayList myStringList = new ArrayList(Arrays.asList("Strine one", "String two")); myStringList.get(2); }).isInstanceOf(IndexOutOfBoundsException.class) - .hasMessageStartingWith("Index: 2") - .hasMessageContaining("2") - .hasMessageEndingWith("Size: 2") - .hasMessageContaining("Index: 2, Size: 2") - .hasMessage("Index: %s, Size: %s", 2, 2) - .hasMessageMatching("Index: \\d+, Size: \\d+") - .hasNoCause(); + .hasMessageStartingWith("Index 2") + .hasMessageContaining("2") + .hasMessageEndingWith("length 2") + .hasMessageContaining("Index 2") + .hasNoCause(); } @Test @@ -36,18 +41,18 @@ public class Java8StyleAssertions { throw new RuntimeException(e); } }).isInstanceOf(RuntimeException.class) - .hasCauseInstanceOf(IOException.class) - .hasStackTraceContaining("IOException"); + .hasCauseInstanceOf(IOException.class) + .hasStackTraceContaining("IOException"); } @Test public void whenDividingByZero_thenArithmeticException() { assertThatExceptionOfType(ArithmeticException.class).isThrownBy(() -> { - int numerator = 10; - int denominator = 0; - int quotient = numerator / denominator; - }) - .withMessageContaining("/ by zero"); + int numerator = 10; + int denominator = 0; + int quotient = numerator / denominator; + }) + .withMessageContaining("/ by zero"); // Alternatively: @@ -60,7 +65,6 @@ public class Java8StyleAssertions { // then assertThat(thrown).isInstanceOf(ArithmeticException.class) - .hasMessageContaining("/ by zero"); - + .hasMessageContaining("/ by zero"); } }