assertj / assertj/assertj-generator

Feature: Generate fluent continuations to Asserts on properties

Offen
#220 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
72
Forks
47
Ø Merge
1 T. 16 Std.
Gemergte PRs (30 T.)
2

Beschreibung

We would like to write something like:

```java
@Data
class SomeClass {
String id;
OtherClass someField;
}

@Data
class OtherClass {
String value;
}

@Test
void test() {
SomeClass someObject = ...;
assertThat(someObject)
.hasName("foo")
.someField()
.hasValue("abc")
}
```

That is particularly useful when working on POJO trees as, for example, generated when parsing JSON/YAML documents.
(Inspired by `ListAssert.singleElement()`.)

That is assuming, of course, that we generate the assertions for `SomeClass`.
The return type would be `OtherClassAssert` if we generate the assertions for _that_ class as well, of `ObjectAssert` otherwise.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den Generatorcode zu finden, der Property-Assertions erstellt, und überprüfe das bestehende Verhalten von ListAssert.singleElement(). Bestätige, wie die Rückgabetypen ObjectAssert für generierte und Fallback-Fälle ausgewählt werden sollen, und füge dann Abdeckung für das Beispiel SomeClass/OtherClass hinzu.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
testing, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.