How to use Assertions_assertThat_with_Throwable_Test class of org.assertj.core.api package

Best Assertj code snippet using org.assertj.core.api.Assertions_assertThat_with_Throwable_Test

Source:Assertions_assertThat_with_Throwable_Test.java Github

copy

Full Screen

...15import org.assertj.core.api.ThrowableAssert.ThrowingCallable;16import org.assertj.core.util.AssertionsUtil;17import org.assertj.core.util.Throwables;18import org.junit.jupiter.api.Test;19public class Assertions_assertThat_with_Throwable_Test {20 @Test21 public void should_build_ThrowableAssert_with_runtime_exception_thrown() {22 Assertions.assertThatThrownBy(Assertions_assertThat_with_Throwable_Test.codeThrowing(new IllegalArgumentException("boom"))).isInstanceOf(IllegalArgumentException.class).hasMessage("boom");23 }24 @Test25 public void should_build_ThrowableAssert_with_throwable_thrown() {26 Assertions.assertThatThrownBy(Assertions_assertThat_with_Throwable_Test.codeThrowing(new Throwable("boom"))).isInstanceOf(Throwable.class).hasMessage("boom");27 }28 @Test29 public void should_be_able_to_pass_a_description_to_assertThatThrownBy() {30 Throwable assertionError = Assertions.catchThrowable(() -> {31 // make assertThatThrownBy fail to verify the description afterwards32 assertThatThrownBy(raisingException("boom"), "Test %s", "code").hasMessage("bam");33 });34 Assertions.assertThat(assertionError).isInstanceOf(AssertionError.class).hasMessageContaining("[Test code]");35 }36 @Test37 public void should_fail_if_no_throwable_was_thrown() {38 Assertions.assertThatExceptionOfType(AssertionError.class).isThrownBy(() -> assertThatThrownBy(() -> {39 }).hasMessage("boom ?")).withMessage(String.format("%nExpecting code to raise a throwable."));40 }41 @Test42 public void can_capture_exception_and_then_assert_following_AAA_or_BDD_style() {43 // when44 Exception exception = new Exception("boom!!");45 Throwable boom = Assertions.catchThrowable(Assertions_assertThat_with_Throwable_Test.codeThrowing(exception));46 // then47 Assertions.assertThat(boom).isSameAs(exception);48 }49 @Test50 public void catchThrowable_returns_null_when_no_exception_thrown() {51 // when52 Throwable boom = Assertions.catchThrowable(() -> {53 });54 // then55 Assertions.assertThat(boom).isNull();56 }57 @Test58 public void catchThrowableOfType_should_fail_with_a_message_containing_the_original_stack_trace_when_the_wrong_Throwable_type_was_thrown() {59 // GIVEN60 final Exception exception = new Exception("boom!!");61 ThrowingCallable codeThrowingException = Assertions_assertThat_with_Throwable_Test.codeThrowing(exception);62 // WHEN63 AssertionError assertionError = AssertionsUtil.expectAssertionError(() -> catchThrowableOfType(codeThrowingException, .class));64 // THEN65 Assertions.assertThat(assertionError).hasMessageContaining(IOException.class.getName()).hasMessageContaining(Exception.class.getName()).hasMessageContaining(Throwables.getStackTrace(exception));66 }67 @Test68 public void catchThrowableOfType_should_succeed_and_return_actual_instance_with_correct_class() {69 // GIVEN70 final Exception expected = new RuntimeException("boom!!");71 // WHEN72 Exception exception = Assertions.catchThrowableOfType(Assertions_assertThat_with_Throwable_Test.codeThrowing(expected), Exception.class);73 // THEN74 Assertions.assertThat(exception).isSameAs(expected);75 }76 @Test77 public void catchThrowableOfType_should_succeed_and_return_null_if_no_exception_thrown() {78 IOException actual = Assertions.catchThrowableOfType(() -> {79 }, IOException.class);80 Assertions.assertThat(actual).isNull();81 }82 @Test83 public void should_fail_with_good_message_when_assertion_is_failing() {84 Assertions.assertThatExceptionOfType(AssertionError.class).isThrownBy(() -> assertThatThrownBy(raisingException("boom")).hasMessage("bam")).withMessageContaining("Expecting message:").withMessageContaining("<\"bam\">").withMessageContaining("but was:").withMessageContaining("<\"boom\">");85 }86}...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Assertj automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used methods in Assertions_assertThat_with_Throwable_Test

Test Your Web Or Mobile Apps On 3000+ Browsers

Signup for free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful