# assertj/assertj

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/assertj-assertj).**

2,827 stars · 778 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/assertj/assertj
- Homepage: https://assertj.github.io/doc/
- awesome-repositories: https://awesome-repositories.com/repository/assertj-assertj.md

## Topics

`assertions` `assertj` `groovy` `hacktoberfest` `java` `kotlin` `testing` `typed-assertions`

## Description

AssertJ is a Java assertion library and fluent interface testing framework. It provides a toolkit for verifying object states using a chainable syntax designed to make test assertions descriptive and readable.

The library functions as a type-specific Java verifier, offering specialized assertion methods for strings, collections, maps, and complex object graphs. It utilizes type-specific assertion classes to provide validation methods relevant to the specific data structure being tested.

The framework covers a broad range of quality assurance capabilities, including object state verification and collection testing workflows. It supports the validation of object properties and the verification of the contents, size, and order of Java maps, lists, and sets.

## Tags

### Testing & Quality Assurance

- [Fluent Assertions](https://awesome-repositories.com/f/testing-quality-assurance/fluent-assertions.md) — Employs a chainable, natural-language syntax to make test assertions highly readable and maintainable.
- [Assertion Libraries](https://awesome-repositories.com/f/testing-quality-assurance/assertion-libraries.md) — Ships a comprehensive library of primitives for validating that actual Java object outputs match expected results.
- [Fluent Assertion Chaining](https://awesome-repositories.com/f/testing-quality-assurance/fluent-assertion-chaining.md) — Provides a chainable API that allows multiple validation rules to be linked in a readable sequence.
- [Internal State Verification](https://awesome-repositories.com/f/testing-quality-assurance/internal-state-verification.md) — Verifies that internal object properties match expected values to ensure business logic is executed correctly.
- [Collection Content Validations](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/assertions-and-validation/assertion-validation-utilities/assertion-libraries/collection-membership-assertions/collection-content-validations.md) — Implements comprehensive checks for element presence, size, and ordering within Java maps, lists, and sets.
- [State Expectation Validation](https://awesome-repositories.com/f/testing-quality-assurance/state-expectation-validation.md) — Verifies that object properties and states match expected values using specialized checks for various data types. ([source](https://cdn.jsdelivr.net/gh/assertj/assertj@main/README.md))
- [Type-Safe Assertions](https://awesome-repositories.com/f/testing-quality-assurance/type-safe-assertions.md) — Provides specialized assertion classes that restrict available validation methods based on the data type being tested.
- [Fluent Assertions](https://awesome-repositories.com/f/testing-quality-assurance/unit-testing-frameworks/fluent-assertions.md) — Provides a toolkit for verifying object states using a chainable syntax that improves test readability.
- [Soft Assertions](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/assertion-extensions-modes/soft-assertions.md) — Collects multiple verification failures into a list instead of terminating the test at the first error.
- [Test Assertion Extensions](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/assertion-extensions-modes/test-assertion-extensions.md) — Allows the addition of custom matchers to extend the core assertion library with domain-specific validation logic.
- [Unit Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/unit/unit-testing.md) — Facilitates automated unit testing for Java applications through descriptive and fluent verification logic.

### Programming Languages & Runtimes

- [Type-Specific Assertions](https://awesome-repositories.com/f/programming-languages-runtimes/java-collection-extensions/type-specific-assertions.md) — Provides specialized verification methods tailored for Java strings, collections, maps, and complex object graphs.
- [Reflection-Based State Inspection](https://awesome-repositories.com/f/programming-languages-runtimes/reflection-based-state-inspection.md) — Uses reflection to validate private fields and internal object states without requiring public getters.
