转自http://ranseti.top/article/kotlin_2
Kotlin Koans Workshop是一系列练习,让您熟悉Kotlin语法。 每个练习都是作为一个失败的单元测试而创建的,你的工作就是让它通过。
如何构建和运行测试
使用Intellij IDEA或Android Studio处理项目:
- 将项目导入为Gradle项目。
- 要构建项目并运行测试,请在Gradle面板上使用测试任务。
在这里https://www.jetbrains.com/help/idea/gradle.html你可以阅读如何在IntelliJ IDEA中使用Gradle项目。
使用命令行
您还可以构建项目并在终端中运行所有测试:
./gradlew test
但是由于运行所有的测试往往需要更长的时间,输出可能会混乱,所以只运行选定的测试更为理想:
$ ./gradlew test --tests i_* # run tests in part 1
$ ./gradlew test --tests ii_* # run tests in part 2
$ ./gradlew test --tests ii_*22* # run test number 22 in part 2
如何检查自己
存储库有两个分支,主要包含您要做的练习和包含已解决的练习的解决方案。 确保你没有作弊!
如何组织任务
你有42个任务要做。 每个任务都有自己的功能:从task0到task41。 对于每个任务,都有一个关联的单元测试来检查你的解决方案。
阅读任务时,您可以自动导航到相应的测试。 用任务打开源文件并使用操作Navigate - > Test打开测试文件。 您也可以使用导航 - >测试主题进行反向导航。
单独的任务通常要求你通过完全替换函数的主体来改变函数taskX。 你的目标是解决问题,并允许相关的单元测试通过。 如果运行单元测试的任务不正确,将显示单元测试结果。 如果您尚未对任务进行任何更改,则将抛出异常并显示任务的TODO消息。
在第一个例子中,这意味着替换代码
fun task0(): String {
return todoTask0()
}
用正确,有意义的代码来解决问题,并允许相关的单元测试通过,如:
fun task0() = "OK"
决议分支包含所有的解决方案。 完成每项任务后检查建议的解决方案是一个好主意。 用你的解决方案打开文件,调用Compare with branch ...操作并选择分支。
你可以在这里找到如何调用一个动作。
其他方法来解决Koans
您可以使用Educational Plugin或在浏览器中解决类似的任务:
- EduTools插件https://plugins.jetbrains.com/plugin/10081-edutools
- 在线版本的koanshttp://try.kotl.in
Web演示和教育插件koans任务可以在这里找到https://github.com/Kotlin/kotlin-koans-edu