assertj / assertj/assertj-generator

Running assertj generator on JDK 11

オープン
#128 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
72
フォーク
47
平均マージ
1日 16時間
マージ済み PR(30日)
2

説明

I am trying to build a library with OpenJDK 11 with the maven-assertj-generator plugin enabled. However, the plugin succeeds, but generates non-compiling code.

Has anyone had any succes on running the assertj-generator with OpenJDK 11?

Generated code:

```
/**
* Verifies that the actual Melding's referenties contains the given interface Referentie elements.
* @param referenties the given elements that should be contained in actual Melding's referenties.
* @return this assertion object.
* @throws AssertionError if the actual Melding's referenties does not contain all given interface Referentie elements.
*/
public MeldingAssert hasReferenties(interface Referentie... referenties) {
// check that actual Melding we want to make assertions on is not null.
isNotNull();

// check that given interface Referentie varargs is not null.
if (referenties == null) failWithMessage("Expecting referenties 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.getReferenties(), referenties);

// return the current assertion for method chaining
return this;
}
```

Wrong line:
`public MeldingAssert hasReferenties(interface Referentie... referenties) {`
Expected line:
`public MeldingAssert hasReferenties(Referentie... referenties) {`

To solve the issue, I tried building the assertj-assertions-generator on OpenJDK 11, but I also ran into all kinds of trouble.
* Tried to build a latest version of com.google.testing.compile:compile-testing
* Tried to upgrade Guava
* Needed to upgrade to JDK 8 source code
* Ran into troubles running JUnit Theories

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、生成された MeldingAssert.hasReferenties メソッドを失敗するエントリポイントとして使用し、OpenJDK 11 で maven-assertj-generator の実行を再現します。レポートで言及されている generator、compile-testing、Guava のビルド制約を確認し、その後、関連する JUnit Theories を実行します。生成されたメソッドが無効な interface トークンなしでコンパイルできれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
build-system, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。