想知道在调用函数时指定Kotlin函数参数名有什么错误.在某些情况下,它不起作用,我不知道如何修复它.

例如,此代码无需指定参数名称即可正常工作:

assertEquals(
    FakeDataSource.photosList,
    repository.getMarsPhotos(),
)

但是带有参数名称的相同代码给了我一个编译器错误:

assertEquals(
    expected = FakeDataSource.photosList,
    actual = repository.getMarsPhotos(),
)

enter image description here

推荐答案

Kotlin documentation个数字告诉我们:

在JVM上调用Java函数时,不能使用命名参数语法,因为Java字节码并不总是保留函数参数的名称.

您在那里调用了一个用Java编写的JUnit方法.

Kotlin相关问答推荐

等待下一个值时暂停Kotlin Coroutine

Kotlin:有限的并行性并不是限制并行性

在Kotlin项目中使用Free Fair AspectJ插件(使用Gradle)

同时也是一个字符串的 Kotlin 枚举

如何在数据类中删除空格 (String)?

如何访问嵌套在另一个 map 中的 map 中的值(在 kotlin 中)

根据字符串值动态过滤数组列表 - kotlin

如何在 Kotlin 中将with代码转换为完整代码?

为 Gradle 子项目配置 Kotlin 扩展

如何在 kotlin @Parcelize 中使用 null

Kotlin 插件错误:无法为类 org.jetbrains.kotlin.gradle.tasks.KotlinCompile 生成代理类

如何从 Java 中隐藏 Kotlin 的 lateinit var 支持字段?

如何使用 Coil 从 URL 获取位图?

Kotlin boxed Int 不一样

作为 Kotlin 中的函数的结果,如何从 Firestore 数据库返回列表?

Intellij 显示 build.gradle.kts 中的每一行都是红色的

是否在Kotlin中重写enum toString()?

生成Kotlin类图

使用导航组件在不同的图形之间导航

具有泛型param的Kotlin抽象类和使用类型param的方法