Unit testing 数据库文件的相同XML表示形式是否可以用于不同的数据库

Unit testing 数据库文件的相同XML表示形式是否可以用于不同的数据库,unit-testing,dbunit,Unit Testing,Dbunit,我正在尝试对我的项目的数据库访问层进行单元测试。 但问题是,我需要使用ApacheDerby数据库测试这一层,在生产测试期间,我需要在oracle上进行测试 所以,我可以使用dbunit使用相同的数据库xml表示吗?据我所知,您的开发环境与生产环境不同。您将为derby db创建DAL,并在上线之前将其替换为oracle的DAL(如果DAL不是原语,您将被迫这样做)。您试图通过在此DAL上创建测试套件来降低迁移风险 在这种情况下,SUT(测试中的系统)将为DAL+DB。您必须测试DAL接口,而不

我正在尝试对我的项目的数据库访问层进行单元测试。 但问题是,我需要使用ApacheDerby数据库测试这一层,在生产测试期间,我需要在oracle上进行测试


所以,我可以使用dbunit使用相同的数据库xml表示吗?

据我所知,您的开发环境与生产环境不同。您将为derby db创建DAL,并在上线之前将其替换为oracle的DAL(如果DAL不是原语,您将被迫这样做)。您试图通过在此DAL上创建测试套件来降低迁移风险


在这种情况下,SUT(测试中的系统)将为DAL+DB。您必须测试DAL接口,而不是直接使用DbUnit测试DB。通过“存储”方法在数据库中插入行,并尝试使用“选择”方法加载它。为每个测试使用新的夹具-在测试运行之前恢复空数据库。只有这样的策略才能确保您的DAL接口对oracle和derby都是可行的。

是的,您正确地理解了我的问题。我需要测试我的DAL,但问题是我有不同的DBs用于测试和生产环境。因此,我如何在DAL中处理多个DBs,因为两种情况下所需的查询都不同。您是否计划为两个数据库使用一个DAL?您将如何处理SQL方言的差异?您将如何创建结构更新脚本?您所说的“数据库的xml表示”到底是什么意思?像Hibernate/JPA中的ORM映射,或者DbUnit数据集,或者?一个DbUnit数据集,一个数据集可以用于两种不同的数据库类型吗