Skip to content

JSTEP 10

Tatu Saloranta edited this page Feb 7, 2025 · 39 revisions

(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-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 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.

  1. Co-existence of JUnit 4 and JUnit 5
  2. Exclude /failing tests using maven-surefire-plugin except jackson-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 with JUnit 5 usage
    • also, make use of something like DatabindTestUtil where needed (name to use maybe JacksonTestUtil or ModuleTestUtil
  • Change 2 : Replace use of src/test/java/.../failing package with Jackson's new failing test management and moving tests to new src/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

Completed, data format modules

Completed, base modules

Completed, data type modules

Completed, Providers

Completed, JVM Languages

  • jackson-module-kotlin: converted earlier
  • jackson-module-scala uses different testing framework, not applicable.

Completed, misc other