JSTEP 10 - FasterXML/jackson-future-ideas GitHub Wiki
(Back to JSTEP page)
JSTEP-10: Unify testing structure/tools
Main discussion : https://github.com/FasterXML/jackson/discussions/249
Author
Joo Hyuk Kim (@joohyukkim)
Version History
- 2025-02-28 : (tatu) Update with Hibernate module
- 2025-01-30 : (tatu) Updates; only 2 providers (JAX-RS, Jakarta-RS) missing!
- 2025-01-22 : (tatu) Update wrt completed
jackson-datatypes-collections
conversion - 2024-12-28 : Initial set-up --skeletal, contents, issues etc...
Status
This JSTEP is considered complete as of February 6, 2025.
Background
Currently in Jackson 2.x (up to 2.18), most of modules including core and extensions have test suite shaped in following way.
- Co-existence of
JUnit 4
andJUnit 5
- Exclude
/failing
tests usingmaven-surefire-plugin
exceptjackson-databind
module where we have "New failing test management using Jupiter extension" since 2.18 version.
Scope
Scope: changes to make
To keep up with Jackson 3 changes such as baseline version of JDK 17, it would be effective for consistency to implement following in order ....
- Change 1 : Replace
JUnit 4
withJUnit 5
usage- also, make use of something like DatabindTestUtil where needed (name to use maybe
JacksonTestUtil
orModuleTestUtil
- also, make use of something like DatabindTestUtil where needed (name to use maybe
- Change 2 : Replace use of
src/test/java/.../failing
package with Jackson's new failing test management and moving tests to newsrc/test/java/.../tofix
package
Scope: target modules to apply
Note that modules to remove --or merge to other modules-- starting Jackson 3 will not be included.
Work status
Completed modules
Completed, core
- jackson-annotations
- Change 1 : https://github.com/FasterXML/jackson-annotations/issues/247
- Change 2 : There are no failing tests
- jackson-core
- jackson-databind
- Change 1 : https://github.com/FasterXML/jackson-databind/pulls?q=is:pr+migrate+junit+ search query), unfortunately didn't make umbrella issue
- Change 2 : https://github.com/FasterXML/jackson-databind/pull/4696
Completed, data format modules
jackson-dataformats-binary
: https://github.com/FasterXML/jackson-dataformats-binary/issues/547jackson-dataformats-text
: https://github.com/FasterXML/jackson-dataformats-text/issues/523jackson-dataformat-xml
: https://github.com/FasterXML/jackson-dataformat-xml/issues/700
Completed, base modules
jackson-modules-base
: https://github.com/FasterXML/jackson-modules-base/issues/268jackson-modules-java8
: https://github.com/FasterXML/jackson-modules-java8/issues/339
Completed, data type modules
jackson-datatypes-collections
: https://github.com/FasterXML/jackson-datatypes-collections/issues/174jackson-datatypes-misc
: https://github.com/FasterXML/jackson-datatypes-misc/issues/51jackson-datatype-hibernate
: https://github.com/FasterXML/jackson-datatype-hibernate/issues/180jackson-datatype-joda
: https://github.com/FasterXML/jackson-datatype-joda/issues/152
Completed, Providers
jackson-jaxrs-providers
: https://github.com/FasterXML/jackson-jaxrs-providers/issues/208jackson-jakarta-rs-providers
: https://github.com/FasterXML/jackson-jakarta-rs-providers/issues/45
Completed, JVM Languages
jackson-module-kotlin
: converted earlierjackson-module-scala
uses different testing framework, not applicable.
Completed, misc other
jackson-jr
: https://github.com/FasterXML/jackson-jr/pull/186jackson-integration-tests
: https://github.com/FasterXML/jackson-integration-tests/pull/22