microsoft / vscode-java-test

Run and debug Java test cases in Visual Studio Code.
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-test
Other
297 stars 132 forks source link

Test attribute dependsOnMethods not honored when running tests individually #1672

Open lsprague3 opened 8 months ago

lsprague3 commented 8 months ago

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)

joshirahulgit commented 3 months ago

Hi Team,

I have a Maven multi-module Java project with several tests in my class. When I run tests at the class level, they work fine. However, when I run individual tests that use dependsOnMethods, I encounter the following error:

{"name":"error","attributes":{"message":"Exception occured while running tests.","trace":"org.testng.TestNGException: 
deleteApp() is depending on method public void getApps(), which is not annotated with @Test or not included.
        at org.testng.internal.MethodHelper.findDependedUponMethods(MethodHelper.java:203)
        at org.testng.internal.MethodHelper.topologicalSort(MethodHelper.java:349)
        at org.testng.internal.MethodHelper.sortMethods(MethodHelper.java:447)