-
Task
-
Resolution: Obsolete
-
Major
-
15.0.0.Final
-
None
The majority of Infinispan modules utilises TestNG as the test framework, however this causes several issues, limited to:
- Unable to utilise rerunFailingTestsCount for flakey tests
- Discrepancy with server/tests and other modules prevents further code re-use
TestNG specific code that needs to be converted:
- TestSelector: test filters that act as test parameterizers
- @InCacheMode
- @InTransactionMode
- @LockingModeFilter
- @IsolationLevelFilter
- Test interceptors
- OrderByInstance
- Hooks
- TestNGLongTestsHook
- Listeners
- FeatureCondition
- Test groups
- functional
- manual
- profiling
- smoke
- stress
- transaction
- unit
- unstable
- xsite
- Unique testName
- SoftAssert
Non standard test fwk classes that can eventually be removed:
- TestCacheManagerFactory with lots of overloads
- Adopt alternative assertion library: AssertJ, Truth, Hamcrest
- @CleanupAfterMethod / @CleanupAfterTest annotations
Existing test hierarchy:
- AbstractInfinispanTest
- * AbstractCacheTest
-
- SingleCacheManagerTest
- MultipleCacheManagersTest
-
The aim of this epic is to transition the Infinispan modules to TestNG on a per module basis.
To ease the migration, the intention is to replicate the existing test hierarchy using JUnit 5 in a dedicated module infinispan-jupiter. Infinispan modules can then be individually converted to use infinispan-jupter instead of TestNG abstractions provided in infinispan-core. Once all non-core modules have been converted to infinispan-jupiter, it will then be possible to remove TestNG from core and the infinispan-jupiter classes can be integrated as part of the module.
- links to