I don't have a good read on how popular Grails is anymore. I liked it a lot in the past but I don't need it anymore with Kotlin and Spring Boot.
Gradle's been able to use Kotlin for build files since Gradle 3.0 which was released last year.
For Jenkins, only a subset of Apache Groovy can be used. None of the functional methods will work when used.
Grails 2.x is still around, but virtually no-one's converting their projects to version 3, or starting new Grails projects in version 3.
Groovy development has come to a standstill, and even contributions from outside developers just sit there, such as the new Antlr 4-based parser which someone contributed a whole year ago.
We still love and use Java a lot and they both complement each other very well.
Perhaps Java 7, but Apache Groovy doesn't have the lambda syntax from Java 8. Development on Groovy has stagnated -- someone even contributed a fully working Antlr-4 based parser to replace their outdated Antlr-2 based one last year, but it's been sitting in their development repository at Github going nowhere ever since.
Returning something from the stub:
myService.getData() >> data
verifying the returned value without explicit assert:
result == expected (This will show a very informative error in case of mismatch and gives you the ability to see the differences in a diff style window)
Interaction based testing is a breeze with this:
3 * myService.getData()
1 * myOtherService.getData()
And finally the data driven testing is the most natural that I have ever seen. You just need to literally create a table and use the column name in your test or even in your test title. Writing tests becomes a joy with Spock.
In F# I have looked at expecto, fsunit and some other library, but I can't find anything remotely equivalent.
I've yet to work with Kotlin but did like Groovy some years ago. Never used it professionaly though, only for play-projects.