我得到了一个深度嵌套的数据结构:
Seq[Seq[(String, Seq[(String, Seq[(String, Try[Boolean])])], Long)]]
在 Try.isFailure 上进行分组是否有一种很好的功能方式?
使用 Shapeless,可以在任意嵌套数据结构中进行搜索,如此处所示。但发现只是我问题的一部分。我看到了拉链和镜片,它们很好,但它们不是这里的正确工具。
对于信息,数据代表一些测试代码的结果。这些层是:配置排列 => 测试组件 => 数据突变 => 测试代码。字符串是描述,long 是完成每个组件测试所花费的时间。我想创建两个列表,一个包含所有失败的所有信息,保留它们发生的时间和地点的所有信息,将异常保存为信息,一个对应的一个用于成功。
已经有解决方案了吗?
注意:对于该特定情况,最明智的方法是重新设计我的测试代码,以便从一开始就创建两个列表,一个失败列表和一个成功列表。但是,我还是想知道。这种问题似乎并不少见。