【问题标题】:Unit tests for std::mapstd::map 的单元测试
【发布时间】:2011-03-13 19:29:17
【问题描述】:

有谁知道我在哪里可以找到可以测试std::map 的单元测试?

我问的原因是因为我编写了一个替代std::map 的类并且具有几乎所有相同的功能,所以std::map 的单元测试也适合我的类。

当然,我可以自己编写,但如果有人已经为此编写了广泛的测试,那么这将为我节省大量时间,并有望涵盖我可能遗漏的内容。

谢谢。

【问题讨论】:

  • 你为什么要写一个替代品呢?任何理智的测试都会报告“测试失败:std::map 已经存在,你在重新发明轮子,不要再浪费你的时间了”
  • 因为它的替换具有不同的语义(以对数插入时间换取连续的内存分配)。它不完全相同,但具有相同的接口,因此 map 的测试将 99% 适用于这个新容器。
  • 你现在可能不在乎,但未来的读者可能想看看 boost flat map。
  • @jalf 有时您需要intervalmap,但在 STL 中缺少它,因此您需要重新实现所有内容。

标签: c++ unit-testing testing stl stdmap


【解决方案1】:

虽然我不知道单独使用它们需要多少费用,但您可以查看libstdc++' testsuite

【讨论】:

  • gcc.gnu.org 存储库中的内容有所变动,您可能需要搜索一下。或者看看libc++ tests
【解决方案2】:

尝试在开源库实现中找到它,例如:

libstdc++ libc++

【讨论】:

    【解决方案3】:

    Plauger 等人的书 The C++ Standard Template Library 提供了示例 STL 实现的代码,以及所有类型的测试代码。我不知道代码是否可以在线获得。

    【讨论】:

      猜你喜欢
      • 2019-11-02
      • 2018-03-29
      • 2021-12-23
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多