Skip to content

kwmt/CodeSearch-kotlin

Repository files navigation

CircleCI

テストについて

Hamcrestのassertを使おうとすると、isがKolitnの予約語なため、バッククォートで囲わないといけない

assrtThat(1, `is`(1))

https://qiita.com/arenahito/items/1d54a6acc77d8ba48362

きれいに書くためには、Hamcrestをやめる必要がある。

KotlinでUnitテストでassertionに何を使うか https://android.gcreate.jp/398

https://discuss.kotlinlang.org/t/what-assertions-library-do-you-use/1809

などを見ると、kotlintestが良さそう

良さそうな理由は

  • Githubスターが多い 525
  • ドキュメントが充実
  • 活発

でも、assertEquals でいい気がしてきた

Mockito2の設定

kotlinのクラスはデフォルトfinalクラスのため、Mockitoを使ってなにも設定しないと、final classはモック化できないというエラーになります。 そのため、

app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker

ファイルを作成しています。

コーディングルール

  • 基本 https://qiita.com/Reyurnible/items/be68b2207e33a0b78936

  • リストは複数形にする(Listは命名は使わない)

    • たとえば、EventならEvents
    • EventListとは命名しない
  • パッケージ名をクラス名にも付ける

    • repositoryパッケージなら、EventRepositoryクラスとする
  • DataSourceパッケージ

    • APIから取得するなら xxxRemoteDataSource
    • ローカルDBなどローカルから取得する場合は、xxxLocalDataSourceとする

JSONパーサーについて

https://qiita.com/egugue/items/f1f35c250f7a25768751

GSONが有名ですが、Kotlinとの相性が良くないとのこと。 MoshiだとKotlinをサポートしている。Square製なのでMoshiを採用する

設計参考

dagger

dagger version 2.12 activityをinjectする方法 https://qiita.com/ryugoo/items/c58fb413882f482f7642

About

GIthubSearch kotlin version

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published