awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
TNG avatar

TNG/ArchUnit

0
View on GitHub↗
3,603 stars·331 forks·Java·apache-2.0·2 vuesarchunit.org↗

ArchUnit

ArchUnit is a Java architecture testing library and automated validator that analyzes compiled bytecode to verify that source code adheres to predefined design rules. It functions as a testing framework that fails builds when the actual code structure violates architectural constraints.

The library uses a fluent rule specification to define constraints and employs bytecode analysis to inspect class relationships and package dependencies. This allows for the automated detection of circular dependencies and the enforcement of dependency rules between packages.

The tool covers a range of structural verifications, including layered architecture verification to prevent logic leaks between software layers and the mapping of class relationships to identify forbidden calls.

Features

  • Architectural Boundary Testing - Automates the verification of architectural boundaries and dependency rules between layers using unit tests.
  • Bytecode Analysis - Analyzes compiled Java class files to verify architectural structure and dependencies without executing the application code.
  • Bytecode Analysis Tools - Inspects compiled Java classes to enforce rules regarding package dependencies and class relationships.
  • Architectural Constraints - Enforces structural requirements and predefined design rules to identify architectural violations during test execution.
  • Java Bytecode Analysis - Examining compiled Java classes to enforce constraints on dependencies and package structures without manual code reviews.
  • Dependency Boundary Enforcers - Restricts package and class-level calls to ensure a clean separation of concerns and maintain architectural integrity.
  • Architectural Validations - Provides an automated framework that validates system architecture against predefined design rules.
  • Architecture Testing Frameworks - Provides a Java library for verifying architectural constraints and code structure through bytecode analysis during test execution.
  • Fluent Rule Specifications - Provides a fluent API that allows developers to specify architectural constraints using a natural language style.
  • Dependency Cycle Detection - Identifies and prevents circular references between packages to maintain a modular system.
  • Dependency Graph Visualizations - Maps class relationships into directed graphs to identify forbidden calls and circular dependencies.
  • Layered Architectures - Verifies that software layers, such as controllers and services, do not leak logic into restricted layers.
  • Architecture Design - Test library for specifying and asserting architecture rules.
  • Architecture Verification - Java library for enforcing architecture constraints via unit tests.

Historique des stars

Graphique de l'historique des stars pour tng/archunitGraphique de l'historique des stars pour tng/archunit

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à ArchUnit

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec ArchUnit.
  • sverweij/dependency-cruiserAvatar de sverweij

    sverweij/dependency-cruiser

    6,804Voir sur GitHub↗

    Dependency-cruiser is a JavaScript and TypeScript dependency analyzer and architectural linter. It serves as a static analysis tool for mapping, visualizing, and validating module relationships within a codebase without requiring code execution. The project is distinguished by its ability to enforce architectural boundaries through a rule-based system. It detects circular dependencies, identifies orphan modules and dead code, and validates dependency constraints using allowed and forbidden relationship rules. It also provides quantitative stability analysis by calculating afferent and efferen

    JavaScript
    Voir sur GitHub↗6,804
  • eduardopires/equinoxprojectAvatar de EduardoPires

    EduardoPires/EquinoxProject

    6,774Voir sur GitHub↗

    EquinoxProject is an ASP.NET 9 web application template and reference implementation for building enterprise software. It provides a structural boilerplate centered on clean architecture, domain-driven design, and the separation of read and write operations through a command query responsibility segregation framework. The project incorporates event sourcing to track the history of business entities as a sequence of events for auditing and state reconstruction. It utilizes a layered approach to decouple business logic from external dependencies and frameworks. The system includes capabilities

    C#architectureasp-net-coreasp-net-core-mvc
    Voir sur GitHub↗6,774
  • 0xd4d/dnspyAvatar de 0xd4d

    0xd4d/dnSpy

    29,539Voir sur GitHub↗

    dnSpy is a specialized toolset for the reverse engineering, analysis, and modification of compiled .NET binaries. It functions as a decompiler that converts assemblies back into readable high-level source code, an assembly editor for modifying bytecode and metadata, and a debugger for inspecting compiled binaries. The project integrates a hex editor specifically for inspecting and modifying raw bytes and Common Intermediate Language structures. It allows for the direct modification of binary contents to change application behavior without requiring the original project source files. The tool

    C#
    Voir sur GitHub↗29,539
  • autonomousapps/dependency-analysis-gradle-pluginAvatar de autonomousapps

    autonomousapps/dependency-analysis-gradle-plugin

    2,149Voir sur GitHub↗

    The dependency analysis Gradle plugin is a diagnostic and management tool designed to optimize build configurations for JVM and Android projects. It identifies unused dependencies and plugins by inspecting source code and compiled bytecode, ensuring that project configurations remain lean and efficient. By integrating directly into the build lifecycle, the plugin provides actionable insights that help maintain clean dependency declarations and reduce unnecessary build overhead. The project distinguishes itself through a heuristic-based advice engine that explains the rationale behind every re

    Kotlinandroidgradle-plugingroovy
    Voir sur GitHub↗2,149
Voir les 30 alternatives à ArchUnit→

Questions fréquentes

Que fait tng/archunit ?

ArchUnit is a Java architecture testing library and automated validator that analyzes compiled bytecode to verify that source code adheres to predefined design rules. It functions as a testing framework that fails builds when the actual code structure violates architectural constraints.

Quelles sont les fonctionnalités principales de tng/archunit ?

Les fonctionnalités principales de tng/archunit sont : Architectural Boundary Testing, Bytecode Analysis, Bytecode Analysis Tools, Architectural Constraints, Java Bytecode Analysis, Dependency Boundary Enforcers, Architectural Validations, Architecture Testing Frameworks.

Quelles sont les alternatives open-source à tng/archunit ?

Les alternatives open-source à tng/archunit incluent : sverweij/dependency-cruiser — Dependency-cruiser is a JavaScript and TypeScript dependency analyzer and architectural linter. It serves as a static… eduardopires/equinoxproject — EquinoxProject is an ASP.NET 9 web application template and reference implementation for building enterprise software.… 0xd4d/dnspy — dnSpy is a specialized toolset for the reverse engineering, analysis, and modification of compiled .NET binaries. It… autonomousapps/dependency-analysis-gradle-plugin — The dependency analysis Gradle plugin is a diagnostic and management tool designed to optimize build configurations… samber/do — This project is a type-safe dependency injection framework for Go that manages application lifecycles and injects… davinci1010/pinduoduo_backdoor — This project is a collection of malware analysis reports and decompiled code focused on a backdoor embedded within an…