【问题标题】:Make @MockBean return new object on each request使@MockBean 在每个请求上返回新对象
【发布时间】:2019-11-19 19:00:02
【问题描述】:

我正在编写一个使用 ApplicationContext 的集成测试。为了模拟数据库故障,我将 @MockBean 用于 DAO 层。 每个测试用例都使用@MockBean 引用,并在内存中引用同一个对象,并通过调试进行双重检查)。 但是,当我对测试套件中的每个测试用例需要不同的 mockbean 行为时。

当第一个测试用例在第二个测试用例中使用模拟存根运行时,我发现了一个奇怪的情况,因此它返回了不正确的结果。

我希望每个测试用例都使用新创建的bean,以避免并发修改共享资源。

是否可以将@MockBean 设为原型?

【问题讨论】:

  • 尝试为您的问题添加更多上下文。你用@MockBean 做什么?改用@Mock 可能会解决您的问题。
  • 我需要设置 ApplicationContext 因此@Mock 在这里不适用

标签: java spring concurrency mockito mockmvc


【解决方案1】:

我很确定@MockBean 已经这样做了。您是否尝试过使用@MockBean?

看看文档MockBean,可以设置'reset'模式MockitoReset.BEFORE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    相关资源
    最近更新 更多