コトルとはどのようにしてassertThat(foo, instanceOf(Bar.class))
と書いてみませんか?Kotlin for assertThat(foo、instanceOf(Bar.class))
はそれが好きではないようだ.class
assertTrue(foo is Bar)
可能な場合よりも、アサーションのために行きたい
コトルとはどのようにしてassertThat(foo, instanceOf(Bar.class))
と書いてみませんか?Kotlin for assertThat(foo、instanceOf(Bar.class))
はそれが好きではないようだ.class
assertTrue(foo is Bar)
可能な場合よりも、アサーションのために行きたい
Bar::class
は、KClass
のインスタンスを返します。これは、Javaのに相当するKotlinです0。
instanceOf
メソッドは、ではなくClass
インスタンスでなければならないので、Bar::class.java
を使用して変換する必要があります。
だからあなたの主張は次のようにする必要があります:あなたはhere見つけることができますJavaの相互運用機能について
assertThat(foo, instanceOf(Bar::class.java))
詳細情報。
また、あなたがあなたの主張に多くの流暢さを追加することができHamkrestライブラリを見てすることができます
assert.that(foo, isA<Bar>())
assertThat(foo, instanceOf(Bar::class.java))
ドキュメント:https://kotlinlang.org/docs/reference/java-interop.html#getclass
assertIs(foo、Bar)関数がありません:/ Thanks :) –
AssertJはところで表明のための素晴らしい流暢なAPIです。 'assertThat(foo).isInstanceOf(Bar :: class.java)'のように記述します。大きな利点は、 'instanceof()'のような全てのコンポーネントをハードに知ってはいけないということです。これは、流暢なAPIのコード補完によってすべての可能性がリストされているからです。 – guenhter