小编For*_*ign的帖子

如何对复杂对象进行单元测试?

假设您想为游戏创建单元测试。

您拥有该类Player,该类具有该类的局部变量World(由构造函数实例化),并且该World对象具有与数据库的打开连接。

因此,player.breakBlock()方法将调用world.breakBlockAt(x,y,z)world.breakBlockAt(int x, int y, int z)方法将对数据库执行更改并返回结果。

在这种情况下,您有复杂的“对象依赖关系”,执行测试的最佳方法是什么?

目前,我基本上正在启动整个游戏环境,使用测试数据库,生成一个假玩家并使用它进行测试。

java junit unit-testing

5
推荐指数
1
解决办法
2378
查看次数

Kotlin lambdas 在底层与 Java lambdas 相同吗?

这是这个答案的后续问题。

但是当应用程序之前没有使用过 lambda 表达式时¹,甚至必须加载用于生成 lambda 类的框架(Oracle 当前的实现在幕后使用 ASM)。这是十几个内部使用的类的减速、加载和初始化的实际原因,而不是 lambda 表达式本身

好的,Java 使用 ASM 在运行时生成类。我发现了这一点,如果我理解正确的话,它基本上是说 Kotlin lambdas 被编译为在运行时加载(而不是生成)的预先存在的匿名类。

如果我是对的,Kotlin lambdas 与 Java 不同,不应该具有相同的性能影响。有人可以确认吗?

kotlin

1
推荐指数
1
解决办法
85
查看次数

标签 统计

java ×1

junit ×1

kotlin ×1

unit-testing ×1