所以我用了这个嵌入Kafka的例子,还有这个
我对这个示例做了一点更改,并用一些数据库(如h2db)更新了kafka侦听器。
现在在我的单元测试中,当我想检查数据在数据库中是否可用时,我得到NULL。另外,我不确定如何手动检查数据库,因为h2是一个内存基础数据库。
这是更新的部分:在接收器类中
@Autowired
DataTableRepository repository;
@KafkaListener(topics = "${kafkatest.topic}")
public void receive(ConsumerRecord<String, DataTable> consumerRecord) {
LOGGER.info("received payload='{}'", consumerRecord.toString());
repository.save(consumerRecord.value());
latch.countDown();
}
在单元测试中:
@Autowired
DataTableRepository repository;
@Test
public void testReceive() throws Exception {
DataTable table = new DataTable(1, "Sending with default template");
template.send(topic, table);
receiver.getLatch().await(10000, TimeUnit.MILLISECONDS);
DataTable dt = repository.getOne(table.getId());
assertNotNull(dt);
assertThat(receiver.getLatch().getCount(), equalTo(0L));
}
但 dt 始终为空。此外,我也无法检查数据库,因为它在测试停止后停止。有人知道如何使它可行吗?
是否已在测试属性文件中设置属性“Kafka测试主题”?这可能是您的侦听器未侦听指定主题的原因。
我需要启动一个嵌入式cassandra实例,通过单元测试在cassandra键空间上执行一些操作。编程语言是Java。启动嵌入式cassandra有哪些选项? 我使用了mojo maven插件,但是在使用以下命令启动实例之后,我没有看到cassandra实例在localhost上的默认端口9042启动。插件:http://www.mojohaus.org/cassandra-maven-plugi
由于以下配置,我希望在web浏览器中查看Spring启动的H2数据库的内容: 我在日志中搜索了JDBC URL: 这样我就可以按照以下方式填写连接表单: 你知道吗? 谢了!
我有一个简单的Spring启动Web应用程序,它从数据库中读取并返回JSON响应。我有以下测试配置: 我有一个数据源 Bean,它是在应用程序的主配置中配置的。当我运行测试时,Spring 尝试加载上下文并失败,因为数据源取自 JNDI。一般来说,我想避免为此测试创建数据源,因为我有模拟的存储库。 是否可以在运行单元测试时跳过数据源的创建? 在内存中测试数据库不是一个选项,因为我的数据库创建脚本具
我有一个Spring Boot和嵌入式Mongo DB的项目,我也想查找存储在那里的数据。我学习了本教程https://springframework.guru/spring-boot-with-embedd-mongoDB/
问题内容: 由于以下配置,我想在Web浏览器中查看Spring启动的H2数据库的内容: 我在日志中搜索了JDBC URL: 但是不幸的是,数据库仍然是空的,但是由于populateDB.sql脚本,它不应该是空的。 任何想法? 谢谢! 问题答案: 本文向大家介绍查看Spring启动的嵌入式H2数据库的内容相关面试题,主要包含被问及查看Spring启动的嵌入式H2数据库的内容时的应答技巧和注意事项,