Android 单元测试orEmpty()方法Kotlin

Android 单元测试orEmpty()方法Kotlin,android,unit-testing,kotlin,Android,Unit Testing,Kotlin,我正在编写Junit测试用例,但在Jacoco代码覆盖范围内,我无法覆盖这一行uri.host.orEmpty() 如何为uri.host.orEmpty()编写单元测试用例 我写了这个案子,但没有成功 var url = "https://abc.co.jp/app/#/dashboard" val uri = URLUtil.getHostName(url) uri shouldBe "abc.co.jp"

我正在编写Junit测试用例,但在Jacoco代码覆盖范围内,我无法覆盖这一行uri.host.orEmpty() 如何为uri.host.orEmpty()编写单元测试用例 我写了这个案子,但没有成功

var url = "https://abc.co.jp/app/#/dashboard"
        val uri = URLUtil.getHostName(url)
        uri shouldBe "abc.co.jp"

        url = "https://"
        URLUtil.getHostName(url) shouldBe ""

只需执行
host?:“
而不是调用
函数
,可以忽略库函数上的代码覆盖率,但如果您想覆盖大部分,请执行以下操作

fun getHostName(url: String): String{
    val uri = Uri.parse(url)
    return uri.host?:""
}

检查
orEmpty()
定义。它返回
this:“
。i、 e如果为空或
字符串本身为空字符串。您可以在测试过程中为这两种情况断言
。我使用了这个,但没有起作用:var url=”“val uri=URLUtil.getHostName(url)uri应该是“abc.co.jp”url=“https://”URLUtil.getHostName(url)应该是“我不想更改太多代码,但同样的问题会发生在以下情况下:,Jacoco不能覆盖此行,返回它。contains(“/abc)| | it.contains(“/webview”)