当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:在单元测试中使用Hibernate会话

司寇山
2023-03-14

在Spring Boot应用程序中,我访问Hibernate会话,如下所示:https://stackoverflow.com/a/33881946/272180

我的单元测试类类似于以下自动取款机:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = App.class)
@WebIntegrationTest
public class WebTest {

    @Autowired
    private SessionFactory  sessionFactory;

    @Autowired
    private UserService     userService;

    @Test
    public void testService() {

        final List<User> users = userService.getUsers();

        // do something with users
        // ...

    }
}

app.class引用具有用于运行Spring Boot应用程序的main方法的类。

共有1个答案

支嘉祥
2023-03-14

实际上,解决方案非常简单,只需将@transactional添加到测试类中。

之后,我可以像往常一样使用SessionFactory

 类似资料:
  • 我已经创建了一个应用程序使用Springboot和Hibernate,我想配置它的单元测试。 首先,这是DAO接口。 这是DAO接口的实现 然后我创建了一个测试类,如下所示 我已经将application.properties文件放在test和src目录的资源中。 我尝试运行此单元测试用例,但由于以下错误而失败: 那么我可以知道为DAO层配置单元测试的最佳方法吗?

  • 我想测试我的SpringBoot应用程序,它使用cassandra作为CrudRepository。我最终得到了 具有 和 这就导致了 如果我使用旧版本的cassandra-unit-Spring 它以NullPointerException结束,因为没有注入值repo。 来源https://github.com/StephanPraetsch/spring.boot.cassandra.unit

  • 环境类 SpringBoot 2,H2作为测试依赖项。 生产厂 Jar被部署到云上。DB2服务配置了驱动程序和连接细节,并自动绑定到java应用程序。jar本身没有配置。这就是应用程序。属性文件,但它是空的。这部分工作正常,我希望有一个解决方案存在,它将不需要我创建属性文件和配置文件。 “未找到架构xxx”上的本地单元测试崩溃 不存在数据源配置。 SpringBoot看到H2依赖,并默认选择Hib

  • 我正在尝试测试我的PreUpdateEventListener流,但我似乎无法使其在JUnit测试中工作。我没有收到任何错误,但没有调用代码。 我的PreUpdateEventListener: 测试: 我曾尝试将SessionFactory注入测试并调用SessionFactory#flush方法,但这不会引发CurrentContextSession错误,我似乎无法修复。

  • 问题内容: 我的意图是使用API中描述的JUnit方法来验证类中的一种方法。 但是Eclipse向我显示了无法识别这种方法的错误消息。这两个进口到位: 我错过了什么? 问题答案: 这应该适用于JUnit 4: (答案基于此Wiki文章) 这与旧的JUnit框架(JUnit 3)相同: 注意区别:没有注释,测试类是TestCase的子类(实现静态断言方法)。

  • 我有以下测试: 这是好的,它可以运行,但是我想知道有没有一种方法可以将它作为单元测试而不是集成测试运行,并且仍然使用@mockbean@autowired。还是我错过了什么? 我试着只保留@ExtendWith(SpringExtension.class),但我得到一个关于找不到BookServiceImpl bean的异常。 我知道如何使用MockitoExtension和@mock、@inje