Spring boot 自动测试Spring引导应用程序中的缓存功能

Spring boot 自动测试Spring引导应用程序中的缓存功能,spring-boot,automated-tests,integration-testing,gemfire,spring-data-gemfire,Spring Boot,Automated Tests,Integration Testing,Gemfire,Spring Data Gemfire,我想知道我们如何测试自动化功能 我正在从事一项Spring Boot micro服务,其中我们使用GemFire缓存。现在,我正在手动测试以下场景: 达到TTL后数据是否正确清除 如果对象存在,则从缓存中检索数据 因此,我知道我们可以有一个单独的服务来调用GemFire并确保对象存在于缓存中(对于步骤2)。但不太确定如何实现步骤1的自动化测试 我想知道的是,我们真的需要一个新的服务来测试这个开销吗?有什么工具/更好的方法来测试功能吗?我已经在使用TestContainers时取得了一些成功。Te

我想知道我们如何测试自动化功能

我正在从事一项Spring Boot micro服务,其中我们使用GemFire缓存。现在,我正在手动测试以下场景:

  • 达到TTL后数据是否正确清除
  • 如果对象存在,则从缓存中检索数据
  • 因此,我知道我们可以有一个单独的服务来调用GemFire并确保对象存在于缓存中(对于步骤2)。但不太确定如何实现步骤1的自动化测试


    我想知道的是,我们真的需要一个新的服务来测试这个开销吗?有什么工具/更好的方法来测试功能吗?

    我已经在使用TestContainers时取得了一些成功。TestContainers是用于创建容器和
    . 它通过在容器上执行gfsh命令来工作,但速度很慢。

    由于您同时使用
    spring boot
    VMware GemFire
    ,我真的希望您能够利用开箱即用的巨大帮助和功能。如果您是,那么您很高兴知道还有另一个项目,它可以用于在为Apache Geode&VMware GemFire应用程序构建
    Spring数据时编写
    单元
    集成
    测试,您应该尝试一下,因为它在管理mock
    VMware-GemFire
    /
    Apache-Geode
    对象的范围和生命周期方面有很大帮助,同时还可以清理集成测试期间使用的真实对象使用的所有资源

    顺便说一句,如果您正在使用随
    VMware GemFire
    附带的开箱即用软件,我真的看不到在您的测试套件中包含自定义测试的实际需要(除了我已经测试了所有可以测试的东西带来的安心之外),您应该只测试您自己的测试。该功能本身已经作为
    VMware GemFire
    /
    Apache Geode
    项目本身的一部分进行了全面测试,您可以在以下链接中看到一些(当然不是全部)此类测试的示例:


    干杯。

    我附和胡安下面所说的话;巨大的+1。更详细地说,ApacheGeode的SpringTest(STDG;)用于广泛测试ApacheGeode的SpringBoot(SBDG;)和ApacheGeode的Spring会话(SSDG;)。稍后,我将对ApacheGeode(SDG;)测试套件的Spring数据进行改造,以使用STDG。。。注意:当我说ApacheGeode时,我也指的是VMware Tanzu GemFire。现在,您可以随时查看SBDG测试套件(例如)中的单元和集成测试或SSDG测试套件()中的测试,以了解如何使用STDG的示例。我还鼓励您从自述()开始学习STDG。最后,如果您希望看到测试GemFire/Geode过期(TTL或TTI)行为的测试,那么SSDG可能是您的最佳选择,因为SSDG对(HTTP)会话的过期特别感兴趣,它使用GemFire/Geode的TTI过期功能以及自定义过期策略(通过
    customexpirement
    )OOTB。例如,请参阅这些测试:SBDG另外添加了一个集成测试,以测试在Spring引导上下文中与SSDG的(HTTP)会话是否正确过期:。SBDG为SSDG提供自动配置支持。