microsoft / microsoft/vscode-java-test

Test attribute dependsOnMethods not honored when running tests individually

Ouverte
#1,672 2 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

ai-triaged enhancement test-execution testng
Langage dominant
TypeScript
Étoiles
340
Forks
173
Merge moyen
1 j 19 h
PR mergées (30 j)
18

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire une méthode TestNG exécutée individuellement avec une relation dependsOnMethods dans la VS Code Java Test extension, puis suivez la sélection à travers TestNGRunner et TestNGLauncher jusqu'à l'échec de MethodHelper. Le travail est considéré comme terminé lorsque la méthode sélectionnée exécute d'abord sa dépendance au lieu de signaler que la dépendance n'est pas incluse.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript, vscode
Domaine
developer-experience, testing
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.