ArchUnit
Introducing ArchUnit, a Java library for testing and enforcing architectural rules and naming conventions in your codebase.
Paweł Chudzik is a programming blog covering practical how-tos and deep dives into Docker, Java, Python, Git, testing, and software architecture.
73 articles from this blog
Introducing ArchUnit, a Java library for testing and enforcing architectural rules and naming conventions in your codebase.
A developer shares how solving coding puzzles on Advent of Code helps practice algorithms, learn Python, and improve problem-solving skills.
An introduction to Testcontainers, a Java library for running Docker containers during integration tests to simplify testing with real external services.
A guide on creating custom annotation-based extensions for the Spock testing framework in Java to add pre-test logic.
A guide to enforcing consistent coding conventions across a development team using IDE configuration sharing and automated checkstyle tools.
Explains how Spring's ProxyFactory and ProxyFactoryBean abstract the complexity of creating AOP proxies, covering JDK and CGLIB proxies.
Explains how to use Maven's new ${revision}, ${sha1}, and ${changelist} properties for simplified, centralized versioning in projects.
A guide to creating a basic Maven plugin from scratch, covering dependencies, annotations, and a simple example.
A deep dive into the Spring Framework's BeanDefinition interface, explaining how beans are registered and serve as the foundation for bean creation.
A developer explains the risks of using default property values in Spring configuration and advocates for dedicated environment profiles to prevent misconfigurations.
Explains the role of the META-INF/spring.factories file in enabling Spring Boot's auto-configuration and modular design.
Explains how to enforce test naming conventions through automated checks, ensuring consistency and acting as living documentation.
A deep dive into Spring's BeanPostProcessor interface, explaining its role in customizing bean lifecycle and initialization within the Spring framework.
A guide to configuring a Java Gradle project for deployment to a Nexus Maven repository, including signing artifacts and managing dependencies.
Introducing fluentXPath, a Java library for building XPath expressions with a fluent API to avoid string concatenation in Selenium tests.
A software team shares their adapted Git workflow for managing a monolithic codebase with multiple independent development teams.
Explains how to manage library dependencies using Maven's Bill of Materials (BOM) and semantic versioning for easier upgrades.
A guide to testing code that uses randomness or time by using dependency injection to make tests deterministic.
A developer's guide to setting up a cost-effective NAT instance on AWS using CloudFormation, detailing the process and code snippets.
A guide to setting up Dockerized end-to-end (e2e) tests using Selenium and Webdriver.io, integrated with CI/CD pipelines like GitLab CI and Travis CI.