当前位置: 首页 > 知识库问答 >
问题:

测试——如何进行创建新数据的集成测试

拓拔嘉颖
2023-03-14

假设我有一个测试来断言系统中新用户的注册是否真的成功:

RegistrationIntegrationTest#testRegister()

现在,这将在实际数据库中创建一个新的测试用户,因为我希望这个测试在实际环境中运行。这意味着测试不能一直运行,对吗?我应该如何进行此类测试?那些使用系统的实际环境并操纵真实数据的人?

共有1个答案

怀齐智
2023-03-14

您可以使用以下选项之一:

  1. 如果可能的话,可以使用内存中的数据库,比如hsqldb,您可以为每个TestSuite/TestCase重新创建或适当设置它
 类似资料:
  • 集成测试是对已经进行单元测试的各个部分的一种整合测试。集成是昂贵的,并且它出现在测试中。你必须把这个考虑到你的预计和时间表里。 理想情况下,你应该这样组织一个项目,使得最后没有一个阶段是必须通过显式集成来进行的。这比在项目过程中,随着事情完成逐渐集成事情要好得多。如果这是不可避免的,请仔细评估。

  • 据Beam网站报道, 通常,对管道代码执行本地单元测试比调试管道的远程执行更快更简单。 出于这个原因,我想对写到Bigtable的Beam/DataFlow应用程序使用测试驱动开发。 但是,在Beam测试文档之后,我遇到了一个僵局--Passert并不有用,因为输出PCollection包含org.apache.hadoop.hbase.client.Put对象,这些对象不重写equals方法。

  • 我想用liquibase变更集进行模拟数据的集成测试,如何使其不影响真实数据库?我从这里找到了部分想法,但我使用的是springboot,我希望有更简单的解决方案。

  • 我对spring相当陌生,正在做一些集成测试。使用Hibernate、MySql和Spring数据JPA。我正在使用事务支持,在每个测试结束时都会回滚所有内容。 例如: 在上面的代码中,我调用iUserService。flush(),以便将sql发送到DB,并发生预期的DataIntegrityViolationException,因为存在从用户到另一个表的外键(不允许级联,无)。到目前为止一切都

  • 我有一个用selenium进行单元测试和集成测试的项目。 当我用IntelliJ执行cucumber集成测试时,它工作得很好,您可以看到: 用Intellij执行cucumber集成测试 但是,当我执行mvn集成测试时,似乎没有发现任何联调: 故障保护输出 我定义了以下POM: > 文件夹结构是文件夹结构 mvn集成-测试输出https://drive . Google . com/file/d/