我有一个对象列表和一个期望值列表,这些对象在通过函数运行它们之后可以求值。

std::vector<Objects> actual;
std::vector<Enum> expected;
bool equals(Object one, Enum two);

我希望能够与匹配器一起执行UnorderedElementsAre之类的操作,或者使用Pointwise而不期望任何命令。

我对解决方案有一些想法,但是我正在寻找其他建议(尤其是gtest的本机,或者使测试更易于阅读)
  • 排序actual然后使用Pointwise
  • actual中的所有值转换为相应的Enum值,然后在该列表上执行UnorderedElementsAreexpected
  • 写一个隐藏1或2个
  • 的匹配器

    最佳答案

    我知道这是一个相对较老的问题,无论如何,我认为值得一提的是UnorderedPointwise container matcher可能是您想要的。

    关于c++ - gtest期望无序元素具有自定义比较器/匹配器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52205490/

    10-11 16:27