Skip to content

JSTEP 10

Tatu Saloranta edited this page Feb 4, 2025 · 40 revisions

(Back to JSTEP page)


JSTEP-10: Unify testing structure/tools

Main discussion : https://github.com/FasterXML/jackson/discussions/249

Related change issues

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

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.

Status

Completed

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

Clone this wiki locally