我又偶然发现了一个尚未找到解决方案的问题,所以我想问你:)
假设我有以下方法(科特琳):
fun getValue(): SpannableString {
val value = "MyTestValue"
val subString = "Test"
// init spannable string
val spannableString = SpannableString(value)
// get position of substring
val position = value.indexOf(subString)
// insert span
spannableString.setSpan(BackgroundColorSpan(ContextCompat.getColor(context, R.color.yellow)), position, position + subString.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
// return result
return spannableString
}
这是我的单元测试方法:
@Test
fun `value | on filter | returns correct value`() {
// define mock behavior
val model = TestUtils.getTestModel() //returns a test model
// init Observable
val observable = TestObservable(model)
// check assertions
assertEquals("???", observable.getValue()) // I don't know what to expect here
}
如果我现在想在单元测试中检查此方法,我总是会得到“ null”作为响应,因为SpannableString返回此值。 我知道我可以在androidTest上下文中运行测试,但是单元测试无关(我认为)。
我认为应该有一些方法可以在不运行模拟器的情况下进行测试。
有什么建议吗?