microsoft / microsoft/vscode-java-test

Cannot debug a TestNG test which has 'dependsOnGroups' property

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

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

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

説明

Issue Type: Bug

Steps to reproduce:

  1. Open a maven project with TestNG tests (TestNG v. 7.6.1, surefire plugin v. 2.22.2).
  2. Try to debug a test.

Expected behaviour:
Debugger hits a breakpoint in the body of test method.

Actual behaviour:
When I click on the Debug Test button, debug session does not start.
I see the following exeption in the debug console of VSCode:

Exception occured while running tests.
java.lang.NullPointerException: Cannot invoke "org.testng.ISuiteResult.getTestContext()" because the return value of "com.microsoft.java.test.runner.testng.TestNGListener.getFirst(java.util.Collection)" is null
at com.microsoft.java.test.runner.testng.TestNGListener.onFinish(TestNGListener.java:74)
at org.testng.SuiteRunner.invokeListeners(SuiteRunner.java:269)
SuiteRunner.java:269
at org.testng.SuiteRunner.run(SuiteRunner.java:332)
SuiteRunner.java:332
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
SuiteRunnerWorker.java:52
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
SuiteRunnerWorker.java:95
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256)
TestNG.java:1256
at org.testng.TestNG.runSuitesLocally(TestNG.java:1176)
TestNG.java:1176
at org.testng.TestNG.runSuites(TestNG.java:1099)
TestNG.java:1099
at org.testng.TestNG.run(TestNG.java:1067)
TestNG.java:1067
at com.microsoft.java.test.runner.testng.TestNGRunner.run(TestNGRunner.java:45)
at com.microsoft.java.test.runner.testng.TestNGLauncher.execute(TestNGLauncher.java:32)
at com.microsoft.java.test.runner.Launcher.main(Launcher.java:57)

Extension version: 0.35.2
VS Code version: Code 1.69.1 (b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a, 2022-07-12T08:21:51.333Z)
OS version: Darwin x64 21.3.0
Restricted Mode: No

System Info
Item Value
CPUs Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_renderer: enabled_on
video_decode: enabled
video_encode: enabled
webgl: enabled
webgl2: enabled
Load (avg) 5, 5, 4
Memory (System) 16.00GB (0.03GB free)
Process Argv --crash-reporter-id ff59b45e-f9bf-4e90-9087-bc26b56d7a10
Screen Reader no
VM 0%
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
pylanb8912cf:30520717
vsclangdf:30486550

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

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

はじめの一歩

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

調査の方向性

dependsOnGroups を含むテストがある Maven TestNG プロジェクトで失敗を再現し、その後、まず onFinish 周辺の TestNGListener.java と、スタックトレースに示されている TestNGRunner のエントリを読みます。デバッグフローを実行し、開始してテストメソッド内のブレークポイントに到達することを確認して、修正を確認します。

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

評価

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

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

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