【发布时间】:2018-01-10 04:04:20
【问题描述】:
我有一个方法需要多次调用,在测试用例中可以返回相同的结果,我调用when使用for循环,但是有更简单的方法吗?
val ONE_DAY_FORMAT: SimpleDateFormat = SimpleDateFormat("yyyy-MM-dd")
val tempCalendar = Calendar.getInstance()
for (i in (0..15)) {
`when`(accountingDao.sumOfDay(ONE_DAY_FORMAT.format(tempCalendar.time)))
.thenReturn(100.0f)
tempCalendar.add(Calendar.DAY_OF_YEAR, -1)
}
【问题讨论】:
-
模拟一次就足够了,不需要循环。你想达到什么目的
-
在 Java 中,我们有两种方式:1.
doReturn(-1). doReturn(1). when(mockedObject). mockedMethod()或 2.when(mockObject. mockedMethod()). thenReturn(-1, 1)。这两种方式都将在第一次调用中返回-1,在第二次调用中返回1。随后的调用抛出。我希望你能把它翻译成 kotlin。