我试图只删除我使用 @DatabaseSetup 注释插入的那些记录。
我的测试如下所示:
@Test
@DatabaseSetup("classpath:data-set.xml")
@DatabaseTearDown(value={"classpath:data-set.xml"}, type= DatabaseOperation.DELETE)
public void testSomething() throws Exception {
数据集.xml
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<person id="1" name="Joe"/>
</dataset>
据推测,使用 DatabaseOperation.DELETE 意味着“删除与数据集中的行匹配的数据库表行”。但是当我执行测试时,它会删除我表中的所有数据。
我认为问题在于用于拆卸的 xml 文件的格式。我尝试使用不同的格式:
首先尝试 tear-down.xml
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<person id="1"/>
</dataset>
第二次尝试 tear-down.xml
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<person/>
</dataset>
而且无论使用何种格式,它总是会删除表中的所有数据。我找不到一个不简单地列出表名的用于拆卸的格式示例。在大多数示例中,人们似乎都使用相同的 xml 文件进行设置和拆卸。
但这必须是可能的,不是吗?