当前位置: 首页 > 面试题库 >

每次测试后如何清除HSQLDB中的数据?

公冶安怡
2023-03-14
问题内容

我已经在项目中编写了一些JUnit测试,这些测试用于在setup方法中填充数据。现在我已经将maven添加到我的项目中,并且我想执行所有来自maven的测试用例,即使用mvn
test。现在的问题是,在运行每个测试类之后,不会清除我的数据库。每个类的测试用例运行后,我需要清除HSQLDB。


问题答案:
  1. 您可以通过删除架构来清除数据。默认模式称为PUBLIC。如果执行下面的SQL语句,它将清除所有数据并删除所有表。

SCHEMA公开级联广告

  1. 或者,如果需要表和架构对象定义,则可以创建一个文件:包含对象但不包含数据的数据库,并将下面的属性添加到.properties文件中。使用这种类型的数据库进行测试,不会保留对数据的更改

files_read_only = true

  1. HSQLDB 2.2.6和更高版本中提供了最新的替代方法,使您可以在保留表的同时清除架构中的所有数据。在下面的示例中,PUBLIC模式被清除。

公开发布方案并提交

HSQLDB的最新版本已增强了该语句。请参阅 Truncate语句*
下的http://hsqldb.org/doc/2.0/guide/dataaccess-
chapt.html#dac_truncate_statement

*



 类似资料:
  • 问题内容: 我有一个Spring + Hibernate + H2项目,它是根据我在Internet上找到的一个示例制作的。除了每次我运行单元测试时,数据库都会被清除外,它的工作效果非常好。我不确定是什么原因造成的。测试可以顺利通过,但是我在测试运行后抹去了测试之前在数据库中输入的所有内容。 任何想法都会有所帮助!谢谢! 这是我的Infrastructure.xml persistence.xml

  • 我的测试顺序如下: 在这四个测试中,我创建了同一个实体。由于我没有在每个测试用例之后从表中删除记录,因此会得到以下异常: 我想用以下约束条件来解决这个问题: null

  • 我需要清除Quarkus应用程序中数据库的表。我可以通过调用为扩展或的实体实现这一点。如何清除可嵌入类型的表?

  • 在将一些测试从JUnit迁移到TestNG时,我遇到了一个问题,因为这些测试框架处理它们的测试类实例的方式不同。 JUnit为每个测试方法创建一个新的测试类实例。所以我看到的一个常见模式是: 相比之下,TestNG对所有测试方法使用测试类的单个实例。所以上面的模式行不通!因为数据存储在实例字段中,所以值不再是孤立的。如果启用了并行执行,这可能会导致在测试中覆盖数据。 那么我该如何使用TestNG呢

  • 问题内容: 我以为这是一个简单的任务,但是我很惊讶没有找到答案。 让我澄清一下: 我不想手动打电话。实际上,我什至没有使用命令行来查看LogCat,所以我认为这是不可能的(编辑: 实际上,是通过在单独的命令行中运行命令来实现的,但是我没有想要这样做) 。我正在使用Eclipse查看LogCat。 我不想每次都单击按钮。那就是我现在正在做的。 我确实是 通过编程方式或通过Eclipse的“运行/调试

  • 我很难设置我的项目,以便SonarQube报告每个测试的测试覆盖率。 在声纳扫描仪的分析过程中,我只看到 在读取了JaCoCo执行数据之后。 这工作的要求是什么?显示每个测试覆盖范围的最小示例的外观如何。 我当前的环境如下所示: 声纳奎比 6.4 索纳贾瓦 4.12.0 声纳扫描仪 3.0.3 日食霓虹灯 埃克莱艾玛 3.0.0/雅可 0.7.9 我的测试项目如下所示: 如您所见,每个测试都存在执