Tho*_*ena 5 testing android unit-testing spannablestring
我只是偶然发现了一个问题,我还没有找到解决方案,所以我想我会问你:)
假设我有以下方法(Kotlin):
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
}
Run Code Online (Sandbox Code Playgroud)
这是我的单元测试方法:
@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
}
Run Code Online (Sandbox Code Playgroud)
如果我现在想在单元测试中检查这个方法,我总是得到 'null' 作为响应,因为 SpannableString 返回这个值。我知道我可以在 androidTest 上下文中运行测试,但是单元测试无关紧要(在我看来)。
我认为应该有一些方法可以在不运行模拟器的情况下进行测试。
有什么建议?
| 归档时间: |
|
| 查看次数: |
1819 次 |
| 最近记录: |