assertj / assertj/assertj-generator
...internal.Iterables is used in Asserts generated by assertj-assertions-generator (java9)
- Vorherrschende Sprache
- Java
- Sterne
- 72
- Forks
- 47
- Ø Merge
- 1 T. 16 Std.
- Gemergte PRs (30 T.)
- 2
Beschreibung
#### Summary
Hi,
I am migrating from java 8 to 17 and had big trouble getting the generated assertions to work (actually is does not work at all, is it dead?)
But even with great hacks I cannot get arround that the generated code imports the internal class `org.assertj.core.internal.Iterables` which is (of course) not exported by assertj-core. Could this become public? Or could the code-generator be updated? Which btw has medium CVEs in it's dependencies.
#### Example
```java
import org.assertj.core.internal.Iterables;
//this is part of the generated code
public YAssert hasXs(X... xs) {
// check that actual Y we want to make assertions on is not null.
isNotNull();
// check that given X varargs is not null.
if (x== null) failWithMessage("Expecting x parameter not to be null.");
// check with standard error message, to set another message call: info.overridingErrorMessage("my error message");
Iterables.instance().assertContains(info, actual.getX(), xs);
// return the current assertion for method chaining
return this;
}
```
Package 'org.assertj.core.internal' is declared in module 'org.assertj.core', which does not export it to module 'my.assertions'
In other words: Is does not compile in Java > 8 which renders the complete code generation useless.
Beitragsleitfaden
Rechercherichtung
Beginne mit der Untersuchung des Pfads zur Assertion-Generierung, der Importe von org.assertj.core.internal.Iterables erzeugt, und reproduziere anschließend den Kompilierungsfehler des generierten Codes in einem modularen Java-9+-Projekt. Als erledigt gilt die Aufgabe, wenn die generierten Assertions nicht mehr von der nicht exportierten internen Klasse abhängen und unter Java 9 und später erfolgreich kompiliert werden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100