# ArchUnit

DevFeed: [ArchUnit](<https://devfeed.tech/articles/archunit-27311.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201908/archunit/>)

Published: 2019-08-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [Java](<https://devfeed.tech/topics/java.md>), [unit test](<https://devfeed.tech/topics/unit-test.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [java](<https://devfeed.tech/tags/java.md>), [structure](<https://devfeed.tech/tags/structure.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

## AI overview

This tutorial introduces ArchUnit, a free Java library for testing architecture conventions with standard Java unit test frameworks. It demonstrates checks for test naming conventions, package and class dependencies, and preventing internal classes from appearing in public APIs.

## Source excerpt

In the past, I've implemented couple of tests that aimed to verify naming conventions or some other practices team agreed upon. And presented a way how to ensure they are followed. When I've been writing those I was not aware that there is a library that aims to test architecture conventions - ArchUnit in this post I'll write a simple test case to check what's possible out of the box. Read more