microsoft / microsoft/vscode-java-test
Cannot debug a TestNG test which has 'dependsOnGroups' property
まだ誰も着手していません。
- 主要言語
- TypeScript
- スター
- 340
- フォーク
- 173
- 平均マージ
- 1日 19時間
- マージ済み PR(30日)
- 18
説明
Issue Type: Bug
Steps to reproduce:
- Open a maven project with TestNG tests (TestNG v. 7.6.1, surefire plugin v. 2.22.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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
dependsOnGroups を含むテストがある Maven TestNG プロジェクトで失敗を再現し、その後、まず onFinish 周辺の TestNGListener.java と、スタックトレースに示されている TestNGRunner のエントリを読みます。デバッグフローを実行し、開始してテストメソッド内のブレークポイントに到達することを確認して、修正を確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, vscode
- 領域
- testing
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100