问题描述
我正在尝试对几个简单的方法进行简单的单元测试,但这是我第一次尝试使用 mockito,所以我真的不明白我做错了什么。
这是我要测试的课程
object AppPreferenceHelper {
private var sharedPreferences: SharedPreferences? = null
fun initPreferences(context: Context) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
}
fun checkIsFavorite(id: String): Boolean {
getFavorites()
favorites?.forEach {
if (it == id)
return true
}
return false
}
fun addFavorite(id: String?) {
id?.let {
favorites?.add(it)
val gson = Gson()
val temp = gson.toJson(favorites)
sharedPreferences?.edit()?.putString(FAVORITES,temp)?.apply()
}
}
}
这是我在单元测试课程中尝试做的
@RunWith(MockitoJUnitRunner::class)
class AppPreferenceHelperUnitTest {
private var prefhelper: AppPreferenceHelper? = null
private var context: Context = Mockito.mock(Context::class.java)
@Before
fun setUp(){
this.context = Mockito.mock(Context::class.java)
this.prefhelper = Mockito.mock(AppPreferenceHelper::class.java)
prefhelper?.initPreferences(context)
}
@Test
fun testCheckIsFavorite(){
prefhelper?.addFavorite("testId")
verify(prefhelper)?.checkIsFavorite("testId")
}
}
这是我不断收到的错误
Wanted but not invoked:
appPreferenceHelper.checkIsFavorite(
"testId"
);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)