diff --git a/build.gradle b/build.gradle
index eb31283f2392f8877c7dac23c0a460a819ecf549..763ebefa234f19eafccfcfc8bdeea22177155a51 100644
--- a/build.gradle
+++ b/build.gradle
@@ -280,7 +280,10 @@ task compileSerializerManualRelativeTest(type: RelastTest) {
     moreInputFiles 'src/test/jastadd/Utils.jadd', 'src/test/jastadd/serializer-manual-relative/JsonPointer.jrag'
 }
 
-clean {
+task cleanTestGen(type: Delete) {
+    group 'verification'
+    description 'Cleans all generated test resources'
+
     delete 'src/test/jastadd/serializer-names/Serializer.ast'
     delete 'src/test/jastadd/serializer-names/Serializer.jadd'
     delete 'src/test/jastadd/serializer-names/SerializerSerializer.jadd'
@@ -337,9 +340,13 @@ clean {
     delete 'src/test/jastadd/multiple/Multiple.jadd'
     delete 'src/test/jastadd/multiple/Multiple.ast'
 
+    delete fileTree('src/test/java-gen/') {
+        exclude '.gitignore'
+    }
 }
 
 test {
     outputs.upToDateWhen { false }
     useJUnitPlatform()
+    dependsOn cleanTestGen
 }