为什么在Assert.assertNotNull中调用void函数有效?

时间:2018-08-28 09:47:47

标签: java unit-testing kotlin assert assertion

例如下面的伪代码,

Assert.assertNotNull(cut.func())

其中cut是受测试的非空类,而func()是一些返回void的函数。

此外,假设func()没有引发任何错误,这将导致有效断言。

由于isn't possible to set an object to be null from within itself in Java / Kotlin(即func()不能将cut设置为null),为什么在 non-null内调用void函数有效? strong>断言?

是因为voidnull不同吗?

1 个答案:

答案 0 :(得分:3)

Java的void返回类型被映射到Kotlin中的Unit对象,而Unit不是null

val x = System.out.println("") // void Java method

println(x == null) // "false"
println(x == Unit) // "true"