You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Strikt框架中流畅链式断言集合单个匹配项的属性?

Strikt框架中链式断言实现唯一元素验证与属性校验

当然可以实现链式调用,Strikt的API支持在断言集合后直接链式操作目标元素,避免重复过滤逻辑。你可以通过single断言(兼具“存在且唯一”的校验)直接定位到目标Pair,接着链式断言它的second属性,这样既保留了唯一存在的校验,又无需重复写过滤条件:

@Test
fun `should verify that key occurs once and has expected value`() {
    val listOfPairs = listOf("A" to 1, "B" to 2, "C" to 3, "C" to 3)
    expectThat(listOfPairs)
        .single { get { first }.isEqualTo("B") }
        .get { second }
        .isEqualTo(2)
}

这段代码里的single断言会一次性完成两个核心校验:

  • 确认列表中恰好存在一个满足first == "B"的Pair
  • 返回该Pair对象,让后续可以直接链式断言其second属性值

这样既达成了链式调用的需求,又消除了重复筛选元素的冗余代码,同时完整保留了所有必要的断言逻辑。

内容的提问来源于stack exchange,提问作者Stefan Reisner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:22:06