通过忽略Context,View的方法来增加Android上的代码覆盖率

时间:2018-05-15 15:56:41

标签: android unit-testing junit jacoco

我试图在我的Android项目中使用JaCoCo增加代码覆盖率,我发现我可以忽略带有/不带正则表达式的整个类。

我遵循MVP模式,所以首先我忽略了所有**/view/**

但是,例如,我有帮助,它们的方法如下:

companion object {
    fun fromHtml(html: String): Spanned {
        return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY)
        } else {
            @Suppress("DEPRECATION")
            Html.fromHtml(html)
        }
    }

    fun hideKeyboard(activity: Activity) {
        try {
            val inputManager = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            inputManager.hideSoftInputFromWindow(activity.currentFocus!!.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
        } catch (e: Exception) {
            Timber.w(e)
        }
    }
}

显然我可以使用JUnit测试fromHtml,但要测试hideKeyboard(Activity)我需要Activity,或者更好地说,通过检测测试运行它。

我有没有办法生成JaCoCo报告,而忽略了签名中包含ViewActivityContext等的方法?

0 个答案:

没有答案