释放kotlin中的变量
在kotlin中,为了编写测试,我在setUp阶段的每个测试之前创建了一个guice注入器,然后尝试在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的土地上,这样的必要性是不是必需的? 如果有必要,最好的办法是什么?
不,这不是必要的,甚至不会被分配。 你正在做的是重新injector
为null。 旧的价值依然悬在记忆里,没有参考。 当垃圾收集器认为合适时,内存将被清理。
- 未解决的参考:使用@ExtendWith注释的SpringExtension
- 我怎样才能用gradle运行kotlintest测试?
- JUnit测试在Kotlin
- 如何使用PowerMock模拟Kotlin类(最终)?
- Android w / Kotlin纯java-Junit的NoClassDefFoundError解决方法不起作用
- 可以在Kotlin中编写函数(即在顶层)。 我可以unit testing那些顶级?
- 用KOTLIN android studio进行JUnit测试
- 即使在androidTest包中,Kotlin类也会作为junit测试运行 – 对于Java类,它运行正常
- 如何管理Kotlin中的unit testing资源,如启动/停止数据库连接或嵌入式弹性搜索服务器?