如果一个函数说,(get-user-details user-id)
返回像一个嵌套的地图:如何测试一个返回嵌套地图的函数?
{:first-name "John"
:last-name "Doe"
:age 24
:address {:house-no "24/3"
:street "Peter Parker Street"
:city "New York"
:country "USA"}}
我应该如何测试?
该顺序与=运算符有关,而且我不希望某些额外键的顺序或存在与测试用例的传递有关。
什么是这种情况下的一般测试策略?
在地图中,顺序无关紧要。由'='调用的映射的等价概念是它们具有相同数量的元素,并且一个元素的所有键/值对都在另一个中。 –
至于额外的键,我不明白这是如何发生的,如果你嘲笑数据,但你需要一个递归子图。 –
你可以使用sets检查所需的键是否在映射中:'(subset?(set [:first-name])(set(keys {:first“John”}))' – edbond