android - 具有动态占位符的单元 getString
问题描述
如何使用动态变化的占位符对 getString 进行单元测试?
如果只是这样做
`when`(application.getString(R.string.anString,"args"))
.thenReturn("mph")
它只是静态的。如果我调用将文本“args”更改为不同内容的函数,它只会返回“mph”,因为我将它设置为when
()。是否可以使用动态更改的占位符测试 getString ?谢谢
解决方案
在模仿
`when`(getString(R.string.withPlaceHolder)).thenReturn("#$1s string with placeholder")
在被测试的类上不要使用带有第二个参数的 getString。而是使用 String.Format()
String.format(getString(R.string.withPlaceholder),"placeholder text here")