问题描述:
直接给例子
def "分页查询订单列表"() {given:def queryParams = new OrderQry(pageIndex: 1, pageSize: 20, bizCode: BizCodeEnum.FINANCE, productType: ProductTypeEnum.MORTGAGE)when:def page = orderQueryService.pageOrder(queryParams)then:noExceptionThrown()page.getCurrentIndex() == 1page.getPageSize() == 20//forEach中的两个断言均未生效,期望测试fail结果却passpage.getItems().forEach({item -> item.getBizCode() == BizCodeEnum.Test.name(); item.getProductType() == ProductTypeEnum.Test.name() })}
问题解决:
forEach内需要显式地调用verifyAll(),上图中的例子
page.getItems().forEach({item -> item.getBizCode() == BizCodeEnum.Test.name(); item.getProductType() == ProductTypeEnum.Test.name() })
只需要修改为
page.getItems().forEach({ item ->verifyAll {item.getBizCode() == BizCodeEnum.Test.name();item.getProductType() == ProductTypeEnum.Test.name()}})