在模拟Mockito类时模拟参数

时间:2017-07-03 10:35:05

标签: android unit-testing testing casting mockito

当我以下列方式嘲笑课程时(在Kotlin中) val card: Card = mock<Card>()它会自动将其所有参数(cardNumber,expMonth,expYear,CVC)初始化为String,因为它们保存为String。但是在我即将测试的代码(Java)中,我按以下方式初始化类卡

Card card = new Card(mView.getCreditCardNumber(),
                     Integer.valueOf(mView.getMonth()),
                     Integer.valueOf(mView.getYear()),
                     mView.getCVV());

我已经用以下方式嘲笑这些值

whenever(mView.creditCardNumber).then { "1234567890123456" }
whenever(mView.month).then { "12" }
whenever(mView.year).then { "2022" }
whenever(mView.cvv).then { "123" }

所以区别在于中间2个参数应该是整数,而我不能这样做。我尝试了以下解决方案

whenever(mView.month).then { 12 }
whenever(mView.year).then { 2022 }

但是我从Int到String得到了CastException。因为mView.month / year应该是字符串。

那么,有没有办法进行此演员,否则我无法正确测试代码的其余部分。请帮忙,否则我会发疯。谢谢:)!

0 个答案:

没有答案