使用 MongoDB 进行单元测试
我选择的数据库是MongoDB。我正在编写一个数据层API来抽象客户端应用程序中的实现细节 - 也就是说,我基本上提供了一个公共接口(一个充当IDL的对象)。
我正在以TDD的方式测试我的逻辑。在每个单元测试之前,调用一个方法来创建数据库单一实例,之后,当测试完成时,将调用一个方法来删除数据库。这有助于促进单元测试之间的独立性。@Before
@After
几乎所有的单元测试(即执行上下文查询)都需要在手头之前进行某种插入逻辑。我的公共接口提供了一个插入方法 - 但是,将此方法用作每个单元测试的前导逻辑似乎不正确。
实际上,我需要某种模拟机制,但是,我对模拟框架没有太多经验,而且Google似乎没有返回任何可能与MongoDB一起使用的模拟框架。
在这些情况下,其他人会怎么做?也就是说,人们如何单元测试与数据库交互的代码?
此外,我的公共接口连接到外部配置文件中定义的数据库 - 将此连接用于我的单元测试似乎不正确 - 再次,这种情况会从某种模拟中受益吗?