9. Assumptions
Assumptions provide support for
conditional test execution.
If the assumptions are met the
test is executed normally, if they
don’t the test is aborted and
marked as ignored.
10. Assertions Generator
Creates assertions specific to your own classes.
It's a way to apply Domain Driven Design ubiquitous language in tests.
Limitations:
No support for generics;
99% correct code.
https://gitlab.nonprod.dwpcloud.uk/simone.di-cola/assertj-generator
It’s up to you which syntax you like most, but for me, AssertJ feels more natural and easy to read.
A standard way would require having 4 assertions one by one. Then, we would only see the first failed assertion about the surname while the issue in the email would be hidden until the surname would be fixed. Such issues are often reproducible in real life when regression testing complicated applications — when some bugs are caught quickly during the first test run, but many other bugs can be missed and found only later, because tests can not go further until the failed step has been fixed. But with soft assertions, you would see something like this: