我正在尝试对我的项目的数据库访问层进行单元测试。但问题是我需要使用 apache derby 数据库测试这一层,并且在生产测试期间我需要在 oracle 上进行。
那么我可以使用数据库的相同 xml 表示来使用 dbunit 吗?
我正在尝试对我的项目的数据库访问层进行单元测试。但问题是我需要使用 apache derby 数据库测试这一层,并且在生产测试期间我需要在 oracle 上进行。
那么我可以使用数据库的相同 xml 表示来使用 dbunit 吗?
据我了解,您的开发环境与生产环境不同。您将为 derby db 创建 DAL,并在上线之前将其替换为 DAL for oracle(如果 DAL 不是原始的,您将被迫这样做)。您试图通过在此 DAL 上创建测试套件来降低迁移风险。
在这种情况下,SUT(被测系统)将为 DAL + DB。您必须测试您的 DAL 接口,而不是直接使用 DbUnit 测试 DB。通过您的“存储”方法在数据库中插入行,并尝试使用“选择”方法加载它。为每个测试使用新的夹具 - 在测试运行之前恢复空数据库。只有这样的策略才能确保您的 DAL 接口对 oracle 和 derby 都是可行的。