microsoft / microsoft/vscode-java-test

Errors in JUnit5TestSearcher

オープン
#1,399 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

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

ai-triaged bug junit needs-reproduction test-discovery
主要言語
TypeScript
スター
340
フォーク
173
平均マージ
1日 19時間
マージ済み PR(30日)
18

説明

java.lang.NullPointerException: Cannot read the array length because "this.fields" is null
	at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getField(BinaryTypeBinding.java:1426)
	at org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.buildTargetAnnotation(AnnotationBinding.java:179)
	at org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.addStandardAnnotations(AnnotationBinding.java:83)
	at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.retrieveAnnotations(BinaryTypeBinding.java:1855)
	at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getAnnotations(ReferenceBinding.java:1067)
	at org.eclipse.jdt.core.dom.TypeBinding.getAnnotations(TypeBinding.java:122)
	at com.microsoft.java.test.plugin.searcher.JUnit5TestSearcher.matchesNameInAnnotationHierarchy(JUnit5TestSearcher.java:110)
	at com.microsoft.java.test.plugin.searcher.JUnit5TestSearcher.findAnnotation(JUnit5TestSearcher.java:85)
	at com.microsoft.java.test.plugin.searcher.JUnit5TestSearcher.isTestMethod(JUnit5TestSearcher.java:69)
	at com.microsoft.java.test.plugin.util.TestSearchUtils.findTestItemsInTypeBinding(TestSearchUtils.java:382)
	at com.microsoft.java.test.plugin.util.TestSearchUtils.findTestTypesAndMethods(TestSearchUtils.java:360)
	at com.microsoft.java.test.plugin.handler.TestDelegateCommandHandler.executeCommand(TestDelegateCommandHandler.java:60)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:215)
java.lang.NullPointerException: Cannot assign field "mayTolerateMissingType" because "this.env" is null
	at org.eclipse.jdt.internal.compiler.lookup.UnresolvedAnnotationBinding.resolve(UnresolvedAnnotationBinding.java:34)
	at org.eclipse.jdt.internal.compiler.lookup.UnresolvedAnnotationBinding.getAnnotationType(UnresolvedAnnotationBinding.java:41)
	at org.eclipse.jdt.internal.compiler.lookup.AnnotationBinding.addStandardAnnotations(AnnotationBinding.java:47)
	at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.retrieveAnnotations(BinaryTypeBinding.java:1855)
	at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.getAnnotations(ReferenceBinding.java:1067)
	at org.eclipse.jdt.core.dom.TypeBinding.getAnnotations(TypeBinding.java:122)
	at com.microsoft.java.test.plugin.searcher.JUnit5TestSearcher.matchesNameInAnnotationHierarchy(JUnit5TestSearcher.java:110)
	at com.microsoft.java.test.plugin.searcher.JUnit5TestSearcher.findAnnotation(JUnit5TestSearcher.java:85)
	at com.microsoft.java.test.plugin.searcher.JUnit5TestSearcher.isTestMethod(JUnit5TestSearcher.java:69)
	at com.microsoft.java.test.plugin.util.TestSearchUtils.findTestItemsInTypeBinding(TestSearchUtils.java:382)
	at com.microsoft.java.test.plugin.util.TestSearchUtils.findTestTypesAndMethods(TestSearchUtils.java:360)
	at com.microsoft.java.test.plugin.handler.TestDelegateCommandHandler.executeCommand(TestDelegateCommandHandler.java:60)

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

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

はじめの一歩

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

調査の方向性

まず JUnit5TestSearcher.java の 69、85、110 行目から始め、続いて TestSearchUtils.findTestItemsInTypeBinding を通してスタックトレースを追跡します。影響を受けたプロジェクトでテスト検出を再現し、どのアノテーション階層パスが報告された NullPointerExceptions を引き起こすのかを特定します。JUnit 5 のテスト検索がこれらのエラーなしで完了すれば完了です。

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

評価

技術スタック
java
領域
testing-qa
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

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

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