我有数据库驱动的财务应用程序。我的大部分方法和服务都依赖于数据库来处理。所以我正在使用spring Integration test.Now我想为我的应用程序编写单元测试。我们知道单元测试依赖于单个组件,我应该如何为我的应用程序编写单元测试,我知道单元可测试代码的设计更好,更不容易出错。如果我使用模拟或存根...那不会成为我的真实场景。所以我的困惑,是单元测试不值得数据库驱动的应用程序?
答案 0 :(得分:0)
您当然可以(而且应该)对“数据库驱动”应用进行单元测试。编写此类测试时的目标是验证您正在测试的代码的逻辑,不数据库层。您如何处理此类代码(例如,使用模拟,存根,假货,测试数据库等)取决于您正在测试的内容。
一般来说,您应该构建代码,使其不与数据库紧密耦合。少数几个类负责与数据库交互,而其余的只是使用Java对象。然后,当您测试这些类时,您只需传入测试对象,无需数据库。对于需要直接与数据库交互的少数类,您可以创建模拟或使用虚假数据库。