Mocking and open


#1

Hello,
The default behaviour in Kotlin is that all class members are close to extensibility, e.g. you have to explicitly define them as open.

I’m using an injection framework and as a result I encapsulate a lot of my functionality in separate service classes which I can mock easily. In order to mock I need to open the class and its method.

I’m thinking out loud, it kinda defies the idea of the default behaviour, I mean unlike Java I need to actually go over all of my service classes and add open. What would have been great is to open all methods when running them in a test context.

Any thoughts ?


#2

Thake a look at this plugin https://kotlinlang.org/docs/reference/compiler-plugins.html#all-open-compiler-plugin


#3

#4

So cool! works


#5

As well if have some time try this one http://mockk.io