assertj / assertj/assertj-generator
Feature: Generate fluent continuations to Asserts on properties
- 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
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