Should assertions for properties of the superclass(es) be generated?
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
調査の方向性
まず pom.xml のジェネレーター設定と issue で参照されているドキュメントを読み、次にスーパークラスの assertion がどのように含まれているかを調べます。SomeErrorException から HttpResponseException を経て Throwable に至る例の階層を追跡し、既存の Assertions.assertThat(Throwable) の制限を確認します。既存の assertion と競合せずに継承プロパティの assertion を生成するための方針が決定され、文書化されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Consider this class:
import org.apache.http.client.HttpResponseException;
public class SomeErrorException extends HttpResponseException {
private SomeError error;
public SomeErrorException(int statusCode, String reason, SomeError error) {
super(statusCode, reason);
this.error = error;
}
public SomeError getError() {
return error;
}
}
It would be nice to be able to test SomeErrorException objects like this:
assertThat(exception).hasStatusCode(500)
.hasMessage("Internal Server Error")
.hasError(error)
However, hasStatusCode and hasMessage are not generated because they are defined in superclasses. If I include HttpResponseException in the generator configuration (in pom.xml), the hasStatusCode appear, but of course hasMessage is only present if I also include the whole hierarchy (four classes!) up to Throwable. Also, org.assertj.core.api.Assertions.assertThat(Throwable) already exists, so I cannot make my assertions a subclass (but problem with this idea are already discussed in the documentation).
Does it make sense to make it easier to include assertions for properties of superclasses?
- 主要言語
- Java
- スター
- 72
- フォーク
- 47
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
assertj/assertj-generator のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
assertj/assertj-generator#278 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
assertj/assertj-generator#220 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
assertj/assertj-generator#219 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
assertj/assertj-generator#204 · リアクション 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
assertj/assertj-generator#197 · コメント 7 件 ·
assertj/assertj-generator の issue をすべて見る
似ている issue
-
new feature
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/rocketmq-dashboard#5594 ·
メンテナーはふだん 3 日以内に返信
-
bug pkg:sdk
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
aws/aws-durable-execution-sdk-java#773 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
PCL-Community/PCL-CE#3652 ·
メンテナーはふだん 1 日以内に返信
-
TaskSecret.vue: replace explicit `any` with real types対応中かも @prayas-bit が今日担当しました。 オープンarea/frontend good first issue kind/cooldown
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
kestra-io/kestra#20352 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信