Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.99.5
-
None
-
None
Description
I've noticed that BeforeClass annotation in test-ng is behaving slightly differently than I was expecting. For most integration tests it behaves as anticipated - it will run before any test methods inside any test class. However when it's used with @DataProvider it will be run for every parametrized call. This means that for example PartitionerTest will initialize the HadoopMiniCluster on all 20 executions, which is adding to the slowness of this test.
Test-ng have additional annotation called @BeforeSuite that will run only once even if given test class is using @DataProvider and hence I would suggest to use it for startHadoop() method. And similarly @AfterSuite for stopHadoop().
I did not measure impact on PartitionerTest, but making this change for other integration test that I'm writing got the execution from 10 down to 3 minutes.
Attachments
Attachments
Issue Links
- relates to
-
SQOOP-1914 Sqoop2: Parallelize test execution
- Open