gpt4 book ai didi

c++ - 谷歌测试中的数组比较?

转载 作者:IT老高 更新时间:2023-10-28 12:09:48 27 4
gpt4 key购买 nike

我希望在谷歌测试中比较两个数组。在 UnitTest++ 中,这是通过 CHECK_ARRAY_EQUAL 完成的。 google test 你是怎么做的?

最佳答案

我真的建议查看 Google C++ Mocking Framework .即使您不想模拟任何东西,它也可以让您轻松编写相当复杂的断言。

例如

//checks that vector v is {5, 10, 15}
ASSERT_THAT(v, ElementsAre(5, 10, 15));

//checks that map m only have elements 1 => 10, 2 => 20
ASSERT_THAT(m, ElementsAre(Pair(1, 10), Pair(2, 20)));

//checks that in vector v all the elements are greater than 10 and less than 20
ASSERT_THAT(v, Each(AllOf(Gt(10), Lt(20))));

//checks that vector v consist of
// 5, number greater than 10, anything.
ASSERT_THAT(v, ElementsAre(5, Gt(10), _));

有很多 matchers对于每一种可能的情况,您可以将它们组合起来以实现几乎任何目标。

我是否告诉过您 ElementsAre 只需要类上的 iteratorssize() 方法才能工作?所以它不仅适用于 STL 的任何容器,也适用于自定义容器。

Google Mock 声称几乎与 Google Test 一样便携,坦率地说,我不明白您为什么不使用它。简直太棒了。

关于c++ - 谷歌测试中的数组比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460703/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com