LoginSignup
1
0

More than 5 years have passed since last update.

junitでStringをJsonObjectに型変換するとNullになる

Last updated at Posted at 2018-06-26

ハマったのでメモ

この現象はAndroidでjUnitを実行したときに起こるそうです。

StringからJsonObject型に変換するときにJsonObjectがNullで返ってきてしまう。

JsonをパースしてModelに変換するテストを書いてる時にハマりました。


        @Test
    fun jsonスがちゃんとできているかのテスト() {

        val jsonObj = JSONObject("{\"key1\":\"aaaaa\",\"key2\":\"bbbbb\",\"key3\":\"ccccc\",\"key4\":\"ddddd\"}")
        val item = Info.Model.perse(jsonObj)
        Assert.assertEquals("aaaaa", item.key1)
        Assert.assertEquals("bbbbb", item.key2)
        Assert.assertEquals("ccccc", item.key3)
        Assert.assertEquals("ddddd", item.key4)
    }

これでテストを実行すると jsonObj がNullで返ってきてテストが失敗します。

解決方法

app/build.gradle に下記を追加します


testImplementation 'org.json:json:+'

これで jsonObj がNullで返らなくてちゃんと JsonObject 型になります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0