[英]Unitils/DbUnit: How to test in a multi-database environment?
我在数据访问层单元测试中使用Unitils(带有DbUnit),但是已经出现了测试多个数据库的需求。 最好的方法是什么? 数据库是不同的,因此某些DAO用于一个数据库,另一个DAO用于另一个数据库。
我看到以下选择:
还有其他想法吗?
希望您在最初提出问题的6年内找到了答案:)
我最近发现自己也遇到了同样的问题,并通过以下方式解决了这个问题:
我为每个DAO使用了一个unittils.properties
,它定义了我的项目需要测试的每个数据源。 在unittils.properties
文件中,我定义了一个database.schemaNames=DATABASE_1, DATABASE_2
属性。
然后,您可以修改数据集定义,如下所示:
<?xml version='1.0' encoding='UTF-8'?>
<dataset xmlns="DATABASE_1" xmlns:b="DATABASE_2">
<some_table />
<b:some_other_table />
<some_table attr_1="foo" attr_2="bar" />
<b:some_other_table other_attr="baz" />
</dataset>
注意,将假定some_table
位于DATABASE_1
。 这是因为unittils将database.schemaNames
属性中的第一个数据库设置为默认database.schemaNames
。 因此,您可以选择省略数据集的xml文件中的xmlns="DATABASE_1"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.