Kotlin
What's New in Kotlin 1.3 - Kotlin Programming Language ↑をサラッと読んだ contract構文ができた? スマートキャストが便利になったみたいだけどよく分からん。。 whenの条件で変数代入ができるようになった @JvmStatic と @JvmField がinterfaceのcompan…
概要 KotlinはJava同様Enumに振る舞い(メソッド)を持たせることができる Groovyから振る舞いを持ったEnum要素を直接参照するとエラーになる Direct field access operator(@)経由で参照すればOK EnumのValueOfでも参照できる 振る舞いを持たないEnumはうま…
概要 MyBatisのSQLはXMLに書いたりアノテーションに文字列で渡す方法があるが、SqlProviderを使う方法を試してみた。 これが一番好きかもしれない。 ちなみにSpringBoot(mybatis-spring-boot-starter)を利用している。 SqlProviderの使い方 クエリの種類に…
概要 最近はJavaではなくKotlinを書いていますが、Spockが好きすぎるのでテストはGroovyで書いたりします。 KotlinのCompanion Objectをテストするときに、Groovy側から呼び出す方法です。 Companion Object Kotlinではクラスに静的なメソッドを定義する時は…
Getterの実装を強制したいような時 valで定義して、オーバライドしてやればよい interface Foo { val hoge: String } class Bar(override val hoge: String) : Foo
概要 KotlinのUnitTestはSpekで書いており、Assertion Frameworkはkotlin-testを使ってる。 kotlin-testで例外発生のテストをAssertする。 例外の発生をテストする assertFailsを使えばOK assertFails { someMethod(invalidArg) } 発生した例外の型をテスト…