我正在SpringBoot应用程序中为我的存储库编写测试。在生产中,我可以使用MySql DB,但是出于测试目的,我试图使用H2内存数据库。 它似乎正常工作-控制台中正在运行SQL查询。
问题是在测试应用程序时如何访问H2控制台页面。在测试方法中设置断点时,无法在浏览器中访问控制台。
我尝试设置仅挂起测试线程的断点(没有运气)。
当我将生产数据库从MySql切换到H2时,我可以访问控制台,一切正常,我怀疑应该如此。与测试相反,不需要断点-“正常”应用程序会无休止地等待HTTP请求。
我使用的简单测试类:
@RunWith(SpringRunner.class)
@SpringBootTest()
public class StockRepositoryTest {
@Autowired
private StockRepository stockRepository;
@Test
public void Should_persist_deviceItem(){
DeviceItem deviceItem = SampleStock.s1_d1;
stockRepository.save(deviceItem);
Optional<DeviceItem> foundById = stockRepository.findById(SampleStock.s1_d1.getId());
Assert.assertTrue(foundById.isPresent());
}
我希望当我在测试方法中在断点处放置一个断点时,在代码暂停的同时,我可以访问H2数据库控制台并检查数据状态。 现在,我在H2控制台URL(甚至HTTP错误代码)上都没有得到任何响应。
谢谢,问候 彼得