assertj / assertj/assertj-generator
Using generateAssertionsInPackage in Maven results in compilation issues
- Vorherrschende Sprache
- Java
- Sterne
- 72
- Forks
- 47
- Ø Merge
- 1 T. 16 Std.
- Gemergte PRs (30 T.)
- 2
Beschreibung
#### Summary
Some classes for which I generate assertion classes contain methods with parameter types that are in the same package. If I then use `` to generate the assertion classes in a different package, they miss the required imports for these types.
#### Example
```java
public class Holder {
private Collection values;
}
```
```xml
org.assertj
assertj-assertions-generator-maven-plugin
2.1.0
generate-assertions
assertj.generated.assertions
```
Results in the following assertion class:
```java
public class HolderAssert extends AbstractHolderAssert {
(..)
}
```
```java
import org.assertj.core.api.AbstractObjectAssert;
import org.assertj.core.internal.Iterables;
import org.assertj.core.util.Objects;
public abstract class AbstractHolderAssert, A extends Holder> extends AbstractObjectAssert {
(..)
// class MyCustomClass not imported == compilation error -->
public S hasValues(MyCustomClass... values) {
(..)
}
}
```
Beitragsleitfaden
Rechercherichtung
Reproduziere das Problem mit dem Maven-Ziel generate-assertions und der Einstellung generateAssertionsInPackage anhand des Beispiels mit Holder und MyCustomClass. Verfolge, wie Importe für generierte Assertion-Klassen erzeugt werden, und überprüfe anschließend, dass das generierte AbstractHolderAssert kompiliert, wenn sich der referenzierte Typ in einem anderen Paket befindet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- build-system, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100