当我以下列方式嘲笑课程时(在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应该是字符串。
那么,有没有办法进行此演员,否则我无法正确测试代码的其余部分。请帮忙,否则我会发疯。谢谢:)!