在我的项目中,我可以成功测试数据库代码。我正在使用Spring,Hibernate,HSQLDB,JUnit和Maven。
问题是,当前我必须在运行测试之前手动启动HSQLDB。使用所使用的技术自动启动HSQLDB的最佳方法是什么?
我假设与hsql
您一起指的是HSQLDB。
将JDBC驱动程序(用于hibernate等)的数据库URL配置为基于嵌入式内存的HSQLDB版本:
jdbc:hsqldb:mem:myunittests
然后,将自动启动一个进程内版本的HSQLDB,它将内容存储到内存中。无需启动任何外部服务器。
有人对这种情况有什么建议吗?额外信息:我用的是liquidbase,panache entity,Junity。
问题内容: 我正在尝试在内存模式下使用hsqldb创建集成测试。目前,我必须在运行单元测试之前从命令行启动hsqldb服务器。我希望能够通过集成测试来控制hsqldb服务器。我似乎无法通过代码解决所有问题。 更新: 这似乎与在类路径中包含hibernate.cfg.xml文件一起使用: 并在我的hibernate.cfg.xml文件中: 更新 看来,这仅是在使用jUnit和内置测试运行器从Ecli
问题内容: 我已经编写了一个单元测试,将文件写入文件系统,没有给它写入工作目录的路径。因此,如果从项目目录执行,它将写入项目根目录;如果在项目父目录中,它将写入父目录根目录。 那么写入目标目录的正确方法是什么?可能是目标目录中的目录? 如果我只用文件指定,它将写入父项目目标而不是项目目标。 更新 :我实际上想要测试完成后的文件。该文件是第三方的提取格式,需要将其发送给第三方。可以打开/关闭该测试,
我遇到了一个问题。我的网页有一个控件。值更改后(通过选择不同的值),页面将刷新并呈现内容。 下面是我的代码: 第二部分:
null 那么,如果在实际的单元测试运行之前,准备所有的事情所花费的时间是原来的两倍,那么这有什么区别呢?为什么这是推荐的方式呢?