【发布时间】:2021-05-29 21:09:14
【问题描述】:
是否有一套标准的 Mongo 驱动程序集成测试(连接库)?
我有一个 C++ 中的 Mongo 库,我想对其进行验证(如果可能,还需要进行性能测试)。是否有一组标准测试(最好是数据),我可以用来验证库是否正在向 Mongo 发送和接收正确的数据?
你说的是库还是驱动?
“驱动程序库”?
它提供了链接到 Mongo 服务器的类型。
然后这些类型提供发送/接收数据等的方法。
还有一些我正在试验的更高层次的概念:
处理所有在线协议,这样您就不需要了。
你链接到一个库(所以标题/库)。
如果您正在开发新的 C++ 驱动程序,我希望您有充分的理由不使用 MongoDB 官方提供和维护的驱动程序。
没有;我没有充分的理由(除了我想尝试)。
但我确实有理由:
- 用我用得不多的 C++17 特性进行实验。
- 我有一个库,可以自动将 C++ 对象序列化为 BSON,无需额外代码。
- 这似乎是一个完美的测试项目来验证它。
- 我有一个库,它允许非阻塞地使用流(通过协同例程)允许我使用单个线程高效地从多个连接中写入/读取。
- 这似乎是一个完美的测试项目来验证它。
MongoDB 官方提供和维护的驱动程序
当然,官方版本将获得更多支持,并且可能比我的单人乐队版本质量更高。但是你这样说好像人们应该只使用官方版本的库。
我完全不同意这个前提,因为它将我们锁定在相同的思维方式中,无法彻底改变我们与数据交互的方式。我想尝试一下,看看我是否可以与数据进行更有效的交互,也许(只是也许这会导致官方版本说嘿这是个好主意,让我们在官方驱动程序中实现它)。
竞争是激发新想法的一种方式(尽管我们可能距离竞争还有很长的路要走)。
但要达到这一点,我需要一种方法来证明我的驱动程序的行为至少符合某个标准。这意味着有某种验证方式会很好。这里有一千个 JSON 对象将它们流式传输到 mongo 并验证您获得“XX”行为或结果。
【问题讨论】:
标签: c++ mongodb integration-testing