与@MockBean和@SpyBean相同,是否有类似@FakeBean/@DummyBean的东西?
这个想法是,实例是 100% 真实的(具有预期的生产内部状态),并且它会覆盖上下文中的实例(或者添加 bean,以防它未在配置中声明)。理想情况下,您不需要创建 TestConfiguration 类并将其设置为 Primary,因为这样您就可以在每次测试的基础上控制假值,仅在需要时才进行控制。否则它使用主函数。
例如,当 bean 是上下文数据收集器时,它非常有用,因此可以在每次测试后使用 MockReset 来清理它。
实现这一目标的最干净的方法是什么。即使我们并不真正从事 spy Activity ,@SpyBean 是正确的选择吗?
最佳答案
我认为这不是一个好主意。自动创建bean可能会产生很大的开销,因为在某些情况下该过程将逐步创建整个上下文。最好创建 TestContext 并控制 bean 创建,因为哪里需要创建真正的 bean,哪里需要创建模拟。如果您创建mock,则与自动过程相反,将不会创建其中的bean,并且您的测试上下文也不需要这些bean。
PS.Spring 有很好的错误解释(与所需的 bean 声明相关),并且可以声明@MockBean
或 @SpyBean
具有多个类的类级别,可以轻松快速地声明。
关于java - 在集成测试中使用 Spring Boot 测试伪造一个 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52608450/