microsoft / microsoft/vscode-java-test
Test attribute dependsOnMethods not honored when running tests individually
Nessuno ha ancora preso questa issue.
- 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- 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