正在通过 Spring 测试数据 Geode 但未找到 @EnableGemFireMockObjects 注释

Going through Spring Test Data Geode but @EnableGemFireMockObjects annotation is not found

我花了很长时间尝试 运行 来自 here and here 的示例测试。

无法找到 @EnableGemFireMockObjects 注释,

也找不到
import org.springframework.data.gemfire.tests.mock.annotation.EnableGemFireMockObjects;

示例测试没有 运行。据推测,这缺少 Gradle 依赖项,但我在文档中找不到 Gradle 示例。

根据 Javalibs 我需要添加

implementation 'org.springframework.data:spring-data-geode-test:0.0.11.RELEASE'

到gradle.builddependencies组。

Spring 测试 Apache Geode 项目 (STDG) 应该构建得很好,通过 运行ning(从项目根目录).. .

$ gradlew clean build install

STDG 也可以使用 Maven 构建,因此包含 pom.xml file,由 运行ning...

$ mvn clean install

NOTE: If you build with Maven first and then later switch to building with Gradle, make sure to remove the target/ directly before building with Gradle.

此外,如果您使用 STDG 项目设置 IDE(例如 IJ 或 STS),从 Maven 或 Gradle 项目模型导入,在构建(编译)STDG 项目后,您也应该能够 运行 从您的 IDE 中单独进行单元或集成测试。

Maven 或 Gradle 文件将确保您的 (test-time) class 路径正确。

关于在STDG项目本身之外使用STDG(例如STDG中的测试不存在,但在那里测试STDG本身的功能),参见:

最终,我将改造 SDG 测试套件以也使用 STDG,替换 SDG 中创建 STDG 的旧测试框架。

终于...

我在 SpringOne Platform 2017 会议上做了关于 STDG 项目的演讲,代码在这里:

https://github.com/jxblum/simplifying-apache-geode-with-spring-data

这是该示例项目中的 1 个这样的测试 class:

https://github.com/jxblum/simplifying-apache-geode-with-spring-data/blob/master/simplifying-apachegeode-testing-springdata-complete/src/test/java/example/app/tests/SpringApacheGeodeConfigurationUnitTests.java

项目好久没更新了,不过还是比较适用的。使用 SBDG 和 SSDG 测试套件作为使用 STDG 的权威示例。

希望对您有所帮助。