我select的数据库是MongoDB。 我正在编写一个数据层API来从客户端应用程序中抽象实现细节 – 也就是说,我基本上提供了一个单独的公共接口(一个充当IDL的对象)。 我正在testing我的逻辑,因为我以TDD方式进行testing。 在每个unit testing之前,调用@Before方法来创build数据库单例,在此之后,当testing完成时,将调用@After方法来删除数据库。 这有助于提高unit testing的独立性。 几乎所有的unit testing,即执行上下文查询 ,都需要某种插入逻辑才能发生。 我的公共接口提供了一个插入方法 – 但是,使用这种方法作为每个unit testing的前驱逻辑似乎是不正确的。 真的,我需要一些嘲弄的机制,但是我还没有太多的嘲讽框架的经验,似乎Google没有返回一个可以用于MongoDB的嘲笑框架。 别人在这些情况下做什么? 也就是说,人们如何testing与数据库交互的代码呢? 此外,我的公共接口连接到一个外部configuration文件中定义的数据库 – 这似乎是不正确的使用这个连接,我的unit testing – 再次,这种情况,将受益于某种嘲笑?