Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用TestHazelcastInstance测试HazelcastClient_Java_Spring Boot_Integration Testing_Hazelcast_Spring Boot Test - Fatal编程技术网

Java 使用TestHazelcastInstance测试HazelcastClient

Java 使用TestHazelcastInstance测试HazelcastClient,java,spring-boot,integration-testing,hazelcast,spring-boot-test,Java,Spring Boot,Integration Testing,Hazelcast,Spring Boot Test,有一个基于spring boot的hazelcast微服务,通过hazelcast客户端连接到hazelcast群集 如果使用TestHazelcastInstance模拟集群,那么编写集成测试的过程是什么 尝试创建一个@TestConfiguration配置类,该类提供一个TestHazelcastInstance,但在这种情况下,另一个配置类HazelcastConfig(提供客户端)似乎没有执行,导致客户端实例没有被实例化 有什么见解吗 App.java: @SpringBootAppli

有一个基于spring boot的hazelcast微服务,通过
hazelcast客户端
连接到hazelcast群集

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

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

有什么见解吗

App.java

@SpringBootApplication
public class App {

    public static void main( final String[] args ) {
        SpringApplication.run( App.class, args );
    }
}
HazelcastConfig.java(提供客户端):

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实例进行测试:
hazelcastance testInstance=Hazelcast.newhazelcastance(配置)

下面是一个使用
TestHazelcastFactory

public class NativeTestingHazelcast {

    private TestHazelcastFactory hazelcastFactory = new TestHazelcastFactory();

  private HazelcastInstance member;
  private HazelcastInstance client;

 @Before
 public void setUp() throws Exception {
     member = hazelcastFactory.newHazelcastInstance();
     client = hazelcastFactory.newHazelcastClient();
 }

 @Test
 public void simpleTest() throws Exception {
     final IMap<Integer, String> testMapFromMember = member.getMap("testMap");
     testMapFromMember.set(1, "test1");

    final IMap<Integer, String> testMap = client.getMap("testMap");
    final String value = testMap.get(1);
    assertEquals("member puts, client gets", value, "test1");
}

@After
public void tearDown() throws Exception {
    hazelcastFactory.shutdownAll();
  }
}
公共类本地测试hazelcast{
私有TestHazelcastFactory hazelcastFactory=新TestHazelcastFactory();
哈泽尔卡斯特私人会员;
私有Hazelcast实例客户端;
@以前
public void setUp()引发异常{
member=hazelcastFactory.newHazelcastInstance();
client=hazelcastFactory.newHazelcastClient();
}
@试验
public void simpleTest()引发异常{
最终IMap testMapFromMember=member.getMap(“testMap”);
testMapFromMember.set(1,“test1”);
最终IMap testMap=client.getMap(“testMap”);
最终字符串值=testMap.get(1);
assertEquals(“成员卖出,客户得到”,值,“测试1”);
}
@之后
public void tearDown()引发异常{
hazelcastFactory.shutdownlall();
}
}
如果你还有其他问题,请告诉我

干杯


Vik

配置对象是如何初始化的?在客户端实例化期间,您看到了什么错误日志?@laur请检查答案并将其标记为已回答。如果你还有其他问题,请告诉我。
public class NativeTestingHazelcast {

    private TestHazelcastFactory hazelcastFactory = new TestHazelcastFactory();

  private HazelcastInstance member;
  private HazelcastInstance client;

 @Before
 public void setUp() throws Exception {
     member = hazelcastFactory.newHazelcastInstance();
     client = hazelcastFactory.newHazelcastClient();
 }

 @Test
 public void simpleTest() throws Exception {
     final IMap<Integer, String> testMapFromMember = member.getMap("testMap");
     testMapFromMember.set(1, "test1");

    final IMap<Integer, String> testMap = client.getMap("testMap");
    final String value = testMap.get(1);
    assertEquals("member puts, client gets", value, "test1");
}

@After
public void tearDown() throws Exception {
    hazelcastFactory.shutdownAll();
  }
}