如何使响应不可变
How to make response immutable
从 api 调用我得到 class ItemsResponse(val items: List<Items>) : PaginationResponse()
其中 abstract class PaginationResponse(var pagination: Pagination = Pagination())
。问题是,PageableResponse 和一般的所有响应都不应该是可变的。我唯一利用这种可变性的地方是在单元测试中模拟响应时,比如:
val itemsResponse = ItemsResponse(items = itemsList).apply {
pagination = anyNeededPaginationState
}
我想让 PaginationResponse
中的 pagination
不可变,但我似乎不知道如何模拟所需的响应。使用当前的模拟方法,我得到 Val cannot be reassigned
错误,我不知道如何在不重新分配的情况下模拟响应。
通过子class 构造函数传递参数。
abstract class PaginationResponse(val pagination: Pagination = Pagination())
class ItemsResponse(val items: List<Items>, pagination = Pagination()) : PaginationResponse(pagination)
val itemsResponse = ItemsResponse(items = itemsList, pagination = anyNeededPaginationState)
从 api 调用我得到 class ItemsResponse(val items: List<Items>) : PaginationResponse()
其中 abstract class PaginationResponse(var pagination: Pagination = Pagination())
。问题是,PageableResponse 和一般的所有响应都不应该是可变的。我唯一利用这种可变性的地方是在单元测试中模拟响应时,比如:
val itemsResponse = ItemsResponse(items = itemsList).apply {
pagination = anyNeededPaginationState
}
我想让 PaginationResponse
中的 pagination
不可变,但我似乎不知道如何模拟所需的响应。使用当前的模拟方法,我得到 Val cannot be reassigned
错误,我不知道如何在不重新分配的情况下模拟响应。
通过子class 构造函数传递参数。
abstract class PaginationResponse(val pagination: Pagination = Pagination())
class ItemsResponse(val items: List<Items>, pagination = Pagination()) : PaginationResponse(pagination)
val itemsResponse = ItemsResponse(items = itemsList, pagination = anyNeededPaginationState)