我有一个使用 IntelliJ 的 Maven 项目,而且我对两者都很陌生。
我现在有一个使用 hibernate 运行的 spring mvc 应用程序(我对此感到非常兴奋!)。
现在,我来自 .net,因此对于 .net,我必须编写额外的代码来在我的单元测试项目中设置 sessionfactory 等,因为它不像 Web 应用程序,在第一次加载时生成内容,并且然后也根据每个请求。
我怎样才能用 hibernate 来做到这一点?我想使用 mysql,但让它使用不同的数据库,例如:appname_test
顺便说一句,当使用 Maven 项目时,IntelliJ 内部是否使用 Maven 命令来构建和运行测试?
我是否可以使用 Maven 命令行隔离我的测试并运行特定文件?
最佳答案
由于您使用的是 Spring,因此您可以使用不同的数据源配置另一个 session 工厂进行测试,并在测试用例中使用该配置文件。它全部注入(inject),因此您不必编写额外的代码,只需一些配置。
Maven 插件使用与命令行相同的命令。最终,测试的运行方式将取决于您如何配置 pom.xml。假设您使用 Surefire 插件来运行测试,您当然可以定义要使用哪个类(套件?),尽管我更喜欢在文件夹中运行所有测试。
关于java - 使用 IntelliJ 对 hibernate 进行单元测试,如何设置 session 上下文?使用种子设置测试 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197974/