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

标签 java unit-testing kotlin assert assertion

以下面的伪代码为例,

Assert.assertNotNull(cut.func())

其中 cut 是被测试的非 null 类,func() 是返回 void 的函数。

此外,假设 func() 不会抛出任何错误,这将导致有效断言。

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

仅仅是因为voidnull不同吗?

最佳答案

Java 的 void 返回类型映射到 Unit Kotlin 中的对象,且 Unit 不为 null

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

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

关于java - 为什么在 Assert.assertNotNull 中调用 void 函数是有效的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52054870/

相关文章:

java - 插入查询仅插入数据库表中结果集中的第一行

java - 以下 java 代码给出输出 1 2 3 。代码是如何执行的?

java - 如何通过单击 JButton 最小化 JFrame

android - Unresolved reference : vectorResource and imageResources in Jetpact Compose 1. 0.0-beta07

java - Spring Boot 与 Hibernate : Keep Creating Database when already Exist

java - 全局 log4j2-test.xml 配置

python - 单元测试未在 Odoo 12 中运行(加载)

unit-testing - 测试 HttpStatusCode 时,使用 nUnit 测试 Nancy 模块断言失败

java - LazyInitializationException 即使使用@Transactional

android - 无法解析 com.google.guava :guava:30. 1-jre - Gradle 项目同步失败。基本功能将无法正常工作 - 在 kotlin 项目中