我想为返回ArrayList
的方法创建测试。 ArrayList
类型是一个名为DateItem
的自定义对象。但是,当我尝试在测试代码(位于ArrayList
文件夹中)中创建test
时,测试失败并显示以下消息:
java.lang.OutOfMemoryError: GC overhead limit exceeded
Process finished with exit code 255
这是我的代码:
var expectedDateItems: ArrayList<DateItem> = ArrayList()
val currentDate = date1Start
while (currentDate.isBefore(date1End)) {
val dateItem = DateItem(currentDate, ArrayList())
expectedDateItems.add(dateItem)
currentDate.plusDays(1)
}
我想知道如何在我的测试代码中创建这样的ArrayList。我研究了this answer,但它用于整个应用程序,不仅用于测试目的。如何为单元测试分配更多的内存?
编辑:调试后,代码在以下行中失败:
val dateItem = DateItem(currentDate, ArrayList())
。 最佳答案
实际上,您有无穷无尽的WHILE循环,因为currentDate.plusDays(1)
返回currentDate
的copy。改成:
currentDate = currentDate.plusDays(1)