Kotlin - 如何能够 运行 和测试功能?
Kotlin - How to be able to run and test function?
我正在用 Kotlin 创建演示代码。我正在尝试让学生能够:
- 运行 函数本身
- 运行 测试
例如:
如果函数是在 .kt 文件中创建的,则在 class:
之外
fun main(){
print("Hello world!")
}
- 可以运行
- 但是在测试中找不到调用方法
如果函数在class内部:
class Hello {
fun main(){
print("Hello world!")
}
}
- 函数可以从测试中调用
- 但不能 运行 - 绿色的“运行”按钮不可见。
问题:如何实现这样的功能可以运行手动和同时测试?
我假设你在 Java 中编写测试,因为如果它在 Kotlin 中,调用 main
是微不足道的:main()
,前提是你已经导入了 package/in同包。
Kotlin 全局函数被编译成 class 的静态方法,其名称与声明该函数的 Kotlin 文件相似,后缀为 Kt
例如,如果文件被调用“app.kt”,class 名称将是 AppKt
。因此,如果您在 app.kt
中声明 main
,您将调用:
AppKt.main();
在Java
您可以通过使用 @JvmName
注释 Kotlin 文件来更改此名称:
@file:JvmName("MyOwnName")
那么您可以拨打:
MyOwnName.main();
在 Java.
我正在用 Kotlin 创建演示代码。我正在尝试让学生能够:
- 运行 函数本身
- 运行 测试
例如: 如果函数是在 .kt 文件中创建的,则在 class:
之外fun main(){
print("Hello world!")
}
- 可以运行
- 但是在测试中找不到调用方法
如果函数在class内部:
class Hello {
fun main(){
print("Hello world!")
}
}
- 函数可以从测试中调用
- 但不能 运行 - 绿色的“运行”按钮不可见。
问题:如何实现这样的功能可以运行手动和同时测试?
我假设你在 Java 中编写测试,因为如果它在 Kotlin 中,调用 main
是微不足道的:main()
,前提是你已经导入了 package/in同包。
Kotlin 全局函数被编译成 class 的静态方法,其名称与声明该函数的 Kotlin 文件相似,后缀为 Kt
例如,如果文件被调用“app.kt”,class 名称将是 AppKt
。因此,如果您在 app.kt
中声明 main
,您将调用:
AppKt.main();
在Java
您可以通过使用 @JvmName
注释 Kotlin 文件来更改此名称:
@file:JvmName("MyOwnName")
那么您可以拨打:
MyOwnName.main();
在 Java.