Ste*_*ris 6 kotlin kotlin-multiplatform
我真的很喜欢 Kotlin 为方法名称添加空格的能力,这是一种有据可查的方法,通常用于使测试名称更具可读性:
在测试中(并且仅在测试中),可以使用带有用反引号括起来的空格的方法名称。(请注意,Android 运行时目前不支持此类方法名称。)...
Run Code Online (Sandbox Code Playgroud)class MyTestCase { @Test fun `ensure everything works`() { ... } ... }
我在我正在开发的一个新库中大力采用它们,针对 JVM。我的测试在 IntelliJ 中显示得很漂亮,一切都很好。
现在,我正在尝试将此库移植到多平台(同时针对 JVM 和 JavaScript)。当我添加带有空格的测试时,当 Gradlebuild运行时,我收到以下 Kotlin 编译器错误compileTestKotlin2Js:
名称包含不能出现在 JavaScript 标识符中的非法字符
我应该从我的测试方法中删除所有空格,还是有另一种方法可以两全其美?
另外,关于“Android运行时目前不支持此类方法名称”的限制,这是一个真正的限制吗?只要我可以在 JVM 上运行我的测试,我仍然可以使用针对 Android 运行时的测试库(在任何方法中都不包含空格),对吗?
对于公共或 JavaScript 模块中的测试,您是正确的,您必须放弃使用反引号的好名称,并诉诸更传统ensure_everything_works或类似的名称。对于特定于 JVM 的测试,您可以继续使用反引号和空格。
这包括对您稍后计划在 Android 上运行的代码进行 JUnit 测试。唯一的限制是,您不能在实际上必须在 Android 环境中运行的测试中使用空格,但单元测试(我假设是 JUnit)在您的开发计算机的 JVM 上运行,因此它们仍然可以使用标识符中的空格。
| 归档时间: |
|
| 查看次数: |
2586 次 |
| 最近记录: |