今からでも遅くない!テストコードからKotlinを導入してみる

  • 33
    いいね
  • 0
    コメント

Kotlin、盛り上がってますよね。新しいプロジェクトを作るなら Kotlin したいんですが、既存プロジェクトでも Kotlin をしたい気持ちもあるでしょう。しかし、大きくなった既存プロジェクトにいきなり Kotlin を導入するのも骨が折れます。そこで今回は、大きなプロジェクトでもちょっとずつ Kotlin が始められるよう、まずはテストコードから Kotlin をしてみる最短ステップをここに残しておこうと思います。

現在の構成

弊社の Android アプリのコードは Java でできています。テストコードは Robolectric 3.1.2 で、IDE は AndroidStudio 2.2 です。IntelliJ Plugin の Kotlin Plugin も入っています。

構成管理

プロジェクトのルートにあるbuild.gradleに、Kotlin のプラグインを追加します。

build.gradle
buildscript {
  // ...
  dependencies {
    // ...
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.5-2"
  }
}

つぎに、アプリモジュールのbuild.gradleに、Kotlin の依存を宣言します。今回はテストでのみ Kotlin を使うので、以下のようにtestCompileを追加しています。

app/build.gradle
apply plugin: 'kotlin-android'

dependencies {
  testCompile "org.jetbrains.kotlin:kotlin-stdlib:1.0.5-2"
  testCompile "org.jetbrains.kotlin:kotlin-test-junit:1.0.5-2"
}

既存のテストコードの変換

なにか適当に簡単なテストを対象に、Java から Kotlin へ変換してみましょう。
Java のファイルを選択し、Code -> Convert Java File to Kotlin File するだけ。ね、簡単でしょう😃

テスト実行

AndroidStudio で試す場合は、テストコードを選択してから右クリックメニューの「Run XXXTest」で実行できます。CLI ならテスト用のタスクを実行します。

BUILD SUCCESSFUL と出たら優勝です。

おわりに

新しい言語の導入というと、その作業だけでも結構大変なんじゃないかと思っていましたが、拍子抜けするほど簡単でした。IDE ではうまく動くけど CLI では動かない、ということもありがちなパターンだとは思いますが、Kotlin の導入に際してはそのようなトラブルもなく、今日も WerckerCI は元気にアプリをビルドしてくれています。