microsoft / microsoft/vscode-java-test

Test attribute dependsOnMethods not honored when running tests individually

Aperta
#1,672 2 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

ai-triaged enhancement test-execution testng
Lingua principale
TypeScript
Stelle
340
Fork
173
Merge medio
1g 19h
PR unite (30g)
18

Descrizione

In eclipse, when you run a test individually and it depends on another test, it runs that other test first and then runs the test that has the dependency.
With the VSCode plugin, it does not appear to do this successfully. Instead it fails to find the dependency method:

[ INFO ] 2024-03-15 08:28:14.586 DefaultTestContextBootstrapper:174 - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@25e2ab5a, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@35e5d0e5, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@73173f63, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@55562aa9, org.springframework.test.context.support.DirtiesContextTestExecutionListener@655ef322, org.springframework.test.context.event.EventPublishingTestExecutionListener@7e276594] Exception occured while running tests. org.testng.TestNGException: com.oreilly.yeti.tests.shippingServiceTest.organizationControllerTest.OrganizationControllerPositiveTest.getOrganizationById_expect_200() is depending on method public void com.oreilly.yeti.tests.shippingServiceTest.organizationControllerTest.OrganizationControllerPositiveTest.getOrganization_allOrgs_expect_200(), which is not annotated with @Test or not included. at org.testng.internal.MethodHelper.findDependedUponMethods(MethodHelper.java:141) MethodHelper.java:141 at org.testng.internal.MethodHelper.topologicalSort(MethodHelper.java:284) MethodHelper.java:284 at org.testng.internal.MethodHelper.sortMethods(MethodHelper.java:382) MethodHelper.java:382 at org.testng.internal.MethodHelper.lambda$collectAndOrderMethods$1(MethodHelper.java:75) MethodHelper.java:75 at org.testng.util.TimeUtils.computeAndShowTime(TimeUtils.java:45) TimeUtils.java:45 at org.testng.internal.MethodHelper.collectAndOrderMethods(MethodHelper.java:71) MethodHelper.java:71 at org.testng.TestRunner.computeAndGetAllTestMethods(TestRunner.java:557) TestRunner.java:557 at org.testng.internal.TestMethodContainer.getItems(TestMethodContainer.java:32) TestMethodContainer.java:32 at org.testng.internal.TestMethodContainer.getItems(TestMethodContainer.java:14) TestMethodContainer.java:14 at org.testng.TestRunner.initMethods(TestRunner.java:526) TestRunner.java:526 at org.testng.TestRunner.init(TestRunner.java:335) TestRunner.java:335 at org.testng.TestRunner.init(TestRunner.java:288) TestRunner.java:288 at org.testng.TestRunner.<init>(TestRunner.java:178) TestRunner.java:178 at org.testng.SuiteRunner$DefaultTestRunnerFactory.newTestRunner(SuiteRunner.java:639) SuiteRunner.java:639 at org.testng.SuiteRunner.init(SuiteRunner.java:225) SuiteRunner.java:225 at org.testng.SuiteRunner.<init>(SuiteRunner.java:115) SuiteRunner.java:115 at org.testng.TestNG.createSuiteRunner(TestNG.java:1349) TestNG.java:1349 at org.testng.TestNG.createSuiteRunners(TestNG.java:1325) TestNG.java:1325 at org.testng.TestNG.runSuitesLocally(TestNG.java:1167) TestNG.java:1167 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)

  • It would be nice to just be able to click and run single methods that have dependencies instead of having to run the whole test class.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo un metodo TestNG eseguito singolarmente con una relazione dependsOnMethods nella VS Code Java Test extension, quindi segui la selezione attraverso TestNGRunner e TestNGLauncher fino all'errore di MethodHelper. Il lavoro è completato quando il metodo selezionato esegue prima la propria dipendenza invece di segnalare che la dipendenza non è inclusa.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, typescript, vscode
Ambito
developer-experience, testing
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.