java - 我将如何在单元测试中深入比较两个地图
问题描述
我目前正在努力确保 2 个地图在单元测试中具有相同的键/值,同时忽略一些键。这应该递归应用,因为地图中的一个值可能又是一个地图 - 所以我想检查整个树。
也许一个例子在这里有帮助:
Map<String, Object> mapA = Map.of("foo", "bar", "description", "foobar", "submap", Map.of("subFoo", "subBar", "description", "subFooBar"));
Map<String, Object> mapB = Map.of("foo", "bar", "description", "barfoo", "submap", Map.of("subFoo", "subBar", "description", "subBarFoo"));
就测试结果而言,这 2 个映射应被视为相等。
我试图通过以下方法解决这个问题 - 但不幸的是它不起作用'
assertThat(mapA)
.usingRecursiveComparison()
.ignoringFieldsMatchingRegexes(".*description")
.ignoringFields("description")
.isEqualTo(mapB);
有谁知道如何解决这个问题?
解决方案
推荐阅读
- swiftui - 无法显示来自可观察对象的警报
- javascript - 将状态添加到我的 React 设置会导致“./src/Main.js 模块构建失败”
- ios - 为什么打印语句没有按正确的顺序执行?我疯了还是 Xcode?
- ios - Swift 设置子类 UIButton ButtonType
- ghost-blog - 如何在 Ghost CMS 中列出页面?
- python - 如何构建一个我需要“存储”多个索引的算法
- javascript - 如何使用 busboy 检测上传流意外停止
- python - 呈现“通用”模板的视图(home.html、about.html 等)?| 姜戈
- angular - 组件间执行功能
- clojure - 为什么程序无休止地运行?