在 kotlin 中,为了编写测试,我在 setUp 阶段的每个测试之前创建了一个 guice 注入(inject)器,然后我尝试在 tearDown 阶段释放它:
class MyTestClass {
....
var injector: Injector? = null
...
@Before
fun setUp() {
...
injector = Guice.createInjector(modules)
...
}
@After
fun tearDown() {
...
injector = null
}
@Test
fun myFirstTest() {
myInstance = injector?.getInstance(Key.get(MyClass::class.java))
// use myInstance here
...
}
...
}
我的问题是,在 Kotlin 的土地上,是否有必要进行这种重新分配?如果有必要,最好的方法是什么?
最佳答案
不,这不是必需的,甚至不是释放。你所做的只是重新绑定(bind)injector
为空。旧值仍在内存中,没有引用。垃圾收集器在认为合适时清理内存。
关于junit - 在 kotlin 中释放变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46453824/