如果在DEV环境中创建数据库,我想liquibase创建一组单元测试功能。
我知道我可以为每个单元测试函数创建一个带有“context”属性的“changeset”标签,但是如果可能的话我想避免这种情况。
理想的是将“context”与“includeAll”标记一起使用,例如:
<includeAll path="./sql/UnitTest/" context="dev" />
但遗憾的是,这是不受支持的。
或者因为我有几个更改日志:
db.changelog.xml
include db.changelog-tables.xml
include db.changelog-functions.xml
...
include db.changelog-unit_test_functions.xml
如果我可以告诉LiquiBase基于命令行参数跳过运行“db.changelog-unit_test_functions.xml”,这也是可行的。
但是,“include”元素中不允许使用“context”属性。
<include file="./sql/db.changelog-unit-test.xml" context="dev" />
我尝试将“前置条件”测试附加到db.changelog-unit-test.xml但是无法执行所有db.changelogs。
有没有人对如何避免编写粒度db.changelog-unit-test.xml有任何聪明的想法?
谢谢!
include
或includeAll
中的上下文工作从3.5注意你文件中的xsd定义 - 你需要在那里租用http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd,否则你的文件即使在运行版本较新时也不会验证3.5