Remove Spock and groovy from the build

XMLWordPrintableJSON

    • None
    • Java Drivers
    • None
    • None
    • None
    • None
    • None
    • None

      Migrate Spock tests to Junit 5 tests and remove groovy from the build.

      Rationale:

      • The Java driver uses; Junit 4 (api) Junit 5 and Spock tests - this would help simplify the stack towards just being Junit based.
      • Using Spock requires Groovy to compile the Java code via gradle. - Slow
      • Spock tests use a Spock & Groovy DSL - this requires extra cognative effort to maintain
      • Junit5 and Java 8 min support reduces the verboseness of testing which was a core reason for Spock adoption.
      • Specification testing now covers much of the the Spock tests - so the amount of tests could be reduced.
      • Spock adds the following dependencies to the build:
        +--- org.spockframework:spock-bom:2.1-groovy-3.0
        |    +--- org.spockframework:spock-core:2.1-groovy-3.0 (c)
        |    \--- org.spockframework:spock-junit4:2.1-groovy-3.0 (c)
        +--- org.spockframework:spock-core -> 2.1-groovy-3.0
        |    +--- org.codehaus.groovy:groovy:3.0.9
        |    +--- org.junit.platform:junit-platform-testkit -> 1.14.3
        |    |    +--- org.junit:junit-bom:5.14.3 (*)
        |    |    +--- org.assertj:assertj-core:3.27.3
        |    |    |    \--- net.bytebuddy:byte-buddy:1.15.11
        |    |    +--- org.opentest4j:opentest4j:1.3.0
        |    |    \--- org.junit.platform:junit-platform-launcher:1.14.3 (*)
        |    +--- org.jetbrains:annotations:20.1.0
        |    +--- org.ow2.asm:asm:9.2
        |    +--- net.bytebuddy:byte-buddy:1.12.1 -> 1.15.11
        |    +--- cglib:cglib-nodep:3.3.0
        |    +--- org.objenesis:objenesis:3.2 -> 3.3
        |    +--- org.junit:junit-bom:5.8.1 -> 5.14.3 (*)
        |    +--- org.junit.platform:junit-platform-engine -> 1.14.3 (*)
        |    \--- org.hamcrest:hamcrest:2.2
        +--- org.spockframework:spock-junit4 -> 2.1-groovy-3.0
        |    +--- org.codehaus.groovy:groovy:3.0.9
        |    +--- org.spockframework:spock-core:2.1-groovy-3.0 (*)
        |    \--- junit:junit:4.13.2 (*)
          
      • Migrating towards Junit 6 (JAVA-5977) may require this migration

            Assignee:
            Ross Lawley
            Reporter:
            Ross Lawley
            None
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: