Kotlin拡張機能は素晴らしいです。しかし、私はそれらのユニットテストをどのように実行できますか?特に、Android SDKのクラス(例えば、コンテキスト、ダイアログ)がクラスを提供しています。Android SDKクラスのKotlin拡張機能のユニットテスト
私は以下の2つの例を提供しています。誰かがユニットテストの仕方を分かち合うことができます。
fun Context.getColorById(colorId: Int): Int {
if (Build.VERSION.SDK_INT >= 23)
return ContextCompat.getColor(this, colorId)
else return resources.getColor(colorId)
}
と
fun Dialog.setupErrorDialog(body : String, onOkFunc:() -> Unit = {}): Dialog {
window.requestFeature(Window.FEATURE_NO_TITLE)
this.setContentView(R.layout.dialog_error_layout)
(findViewById(R.id.txt_body) as TextView).text = body
(findViewById(R.id.txt_header) as TextView).text = context.getString(R.string.dialog_title_error)
(findViewById(R.id.txt_okay)).setOnClickListener{
onOkFunc()
dismiss()
}
return this
}
任意の提案が役立つだろう。ありがとう!
こんにちは、私はこれらの機能をユニットテストする必要はないと思います。まず、アンドロイドのリソースから色を取得し、あなたのアプリケーションコードに依存しません。もう1つはerrorDialogを示しています。エスプレッソやRobotiumなどのUIテストフレームワークを使用して正しく表示されているかどうかを確認してください。 – piotrek1543
ありがとうpiotrek。コードは単なる例です。問題の主なポイントは、テストするために必要なロジックがある場合に、エクステンション機能でユニットテストを実行する方法を探ることです。これは達成不可能なものなのでしょうか、何かが欠けていますか?ありがとう。 – Elye
私はそれも探しています。あなたはそれを@Elye見つけましたか? – elsennov