https://kotlinlang.org logo
#random
Title
j

jmfayard

05/04/2017, 2:59 PM
I implemented something that follows quite closely the spirit of dagger2, but that could well be even better for simple use cases. Often the Testcomponent needs to provide more types than Component, that's when the dagger2 pattern is more powerful
k

kasper.kondzielski

05/10/2017, 6:57 PM
jmfayard: In our company we don't use dagger at all. Our DI looks similar to what you write couple messages above but it's simpler. You can see how we use it in this project: https://github.com/elpassion/el-space-android/blob/develop/app/src/androidTest/kotlin/pl/elpassion/elspace/hub/login/HubLoginActivityHappyTest.kt#L26
👍 1
Still recently we simplified this. Because having a singleton means basically that you have a global variable with a reference to some object which is created when your classes are being loaded. So we replaced object with just a global top level declaration of variable and it looks like this.
var logger: ()->Logger = { productionLogger }
Later in test we write:
logger = {testLogger}
2 Views