Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Using generateAssertionsInPackage in Maven results in compilation issues

オープン
#135 コメント 10 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
java

調査の方向性

Holder と MyCustomClass の例を使用して、Maven の generate-assertions ゴールと generateAssertionsInPackage 設定に関する問題を再現してください。生成された assertion クラスの import がどのように生成されるかを追跡し、その後、参照される型が別のパッケージにある場合に、生成された AbstractHolderAssert がコンパイルできることを確認してください。

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

説明

Summary

Some classes for which I generate assertion classes contain methods with parameter types that are in the same package. If I then use <generateAssertionsInPackage> to generate the assertion classes in a different package, they miss the required imports for these types.

Example
public class Holder {
   private Collection<? extends MyCustomClass> values;
}
<plugin>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-assertions-generator-maven-plugin</artifactId>
    <version>2.1.0</version>
    <executions>
        <execution>
            <goals>
                <goal>generate-assertions</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <generateAssertionsInPackage>assertj.generated.assertions</generateAssertionsInPackage>
    </configuration>
</plugin>

Results in the following assertion class:

public class HolderAssert extends AbstractHolderAssert<HolderAssert, Holder> {
   (..)
}
import org.assertj.core.api.AbstractObjectAssert;
import org.assertj.core.internal.Iterables;
import org.assertj.core.util.Objects;

public abstract class AbstractHolderAssert<S extends AbstractHolderAssert<S, A>, A extends Holder> extends AbstractObjectAssert<S, A> {

  (..)

  // class MyCustomClass not imported == compilation error -->
  public S hasValues(MyCustomClass... values) {
    (..)
  }
}
主要言語
Java
スター
72
フォーク
47
PR マージ指標
30日以内にマージされた PR はありません

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

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

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

assertj/assertj-generator のほかの issue

assertj/assertj-generator の issue をすべて見る

似ている issue

Java の issue をもっと見る

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

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