gpt4 book ai didi

java - 使用 TestHazelcastInstance 测试 HazelcastClient

转载 作者:行者123 更新时间:2023-12-03 09:08:56 25 4
gpt4 key购买 nike

有一个基于 spring-boot 的 hazelcast 微服务,通过 HazelcastClient 连接到 hazelcast 集群。

如果使用 TestHazelcastInstance 模拟集群,那么编写集成测试的过程是什么?

尝试创建一个提供TestHazelcastInstance@TestConfiguration配置类,但在这种情况下另一个配置类,HazelcastConfig(提供客户端) ,似乎没有执行,导致客户端实例没有被实例化。

有什么见解吗?

App.java:

@SpringBootApplication
public class App {

public static void main( final String[] args ) {
SpringApplication.run( App.class, args );
}
}

HazelcastConfig.java(提供客户端):

@Configuration
@ConfigurationProperties( prefix = "hazelcast" )
@Getter
@Setter
public class HazelcastConfig {

private ClientConfig config;

@Bean
public HazelcastInstance hazelcastInstance() {
return HazelcastClient.newHazelcastClient( config );
}
}

AppTest.java,有问题的测试:

@RunWith( SpringRunner.class )
@SpringBootTest( classes = { TestConfig.class } )
@ActiveProfiles( "test" )
public class AppTest {

@Test
public void contextLoads() {
}
}

TestConfig.java,提供TestHazelcastInstance

@TestConfiguration
@Profile( "test" )
@ConfigurationProperties( prefix = "hazelcast.server" )
public class TestConfig {

private Config config;

@Bean( "hazelcastInstance_TEST" )
public HazelcastInstance hazelcastInstance() {
return new TestHazelcastInstanceFactory( 1 ).newHazelcastInstance( config );
}
}

最佳答案

鉴于这是一个集成测试,您可能希望使用 Hazelcast 的嵌入实例进行测试:HazelcastInstance testInstance = Hazelcast.newHazelcastInstance(config);

关于java - 使用 TestHazelcastInstance 测试 HazelcastClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44441383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com