Farea banner
yegor256 yegor256

Farea

Testing community

Description

Fake Maven Reactor for unit-testing of your Maven plugins: similar Maven Invoker Plugin, but JUnit friendly

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Fake Maven Reactor, for Quick Unit Tests

[![EO principles respected here](https://www.elegantobjects.org/badge.svg)](https://www.elegantobjects.org) [![DevOps By Rultor.com](https://www.rultor.com/b/yegor256/farea)](https://www.rultor.com/p/yegor256/farea) [![We recommend IntelliJ IDEA](https://www.elegantobjects.org/intellij-idea.svg)](https://www.jetbrains.com/idea/)

[![mvn](https://github.com/yegor256/farea/actions/workflows/mvn.yml/badge.svg)](https://github.com/yegor256/farea/actions/workflows/mvn.yml) [![PDD status](https://www.0pdd.com/svg?name=yegor256/farea)](https://www.0pdd.com/p?name=yegor256/farea) [![Maven Central](https://img.shields.io/maven-central/v/com.yegor256/farea.svg)](https://maven-badges.herokuapp.com/maven-central/com.yegor256/farea) [![Javadoc](https://www.javadoc.io/badge/com.yegor256/farea.svg)](https://www.javadoc.io/doc/com.yegor256/farea) [![codecov](https://codecov.io/gh/yegor256/farea/branch/master/graph/badge.svg)](https://codecov.io/gh/yegor256/farea) [![Hits-of-Code](https://hitsofcode.com/github/yegor256/farea)](https://hitsofcode.com/view/github/yegor256/farea) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/farea/blob/master/LICENSE.txt)

It's a fake Maven Reactor, helping you to integration-test your custom Maven plugins. There is a traditional way to do this: [Maven Invoker Plugin][invoker]. It works perfectly, but it has two pretty annoying drawbacks: 1) It doesn't run from IDE (at least from IntelliJ IDEA), and 2) It always starts the entire build from scratch, which makes 3) it pretty slow.

Farea suggests an alternative way, which is way less flexible, but much faster and JUnit-friendly.

First, you add this to your `pom.xml`:


  com.yegor256
  farea
  0.15.4

Then, you use it like this, in your JUnit5 test (obviously, you need to have `mvn` installed and available on `$PAT