gpt4 book ai didi

java - @RunWith(MockitoJUnitRunner.class) 和 @RunWith(SpringJUnit4ClassRunner.class) 有什么区别?什么时候合适使用它?

转载 作者:行者123 更新时间:2023-12-02 04:00:04 32 4
gpt4 key购买 nike

@RunWith(MockitoJUnitRunner.class)@RunWith(SpringJUnit4ClassRunner.class) 有什么区别?什么时候合适使用它?

最佳答案

MockitoJUnitRunner

  • 专门用于 Mockito 测试框架
  • 当您希望将测试集中在单个类上并避免调用依赖项上的方法(而是调用易于配置的模拟/虚拟)时,Mockito 框架可以帮助模拟依赖项。
  • 上面是mockito的用途,但具体是关于这个运行器的更多信息 - 来自文档:“保持测试干净并改善调试体验”。 “Runner 是完全可选的 - 还有其他方法可以让 @Mock 工作”。来源 - https://static.javadoc.io/org.mockito/mockito-core/2.6.8/org/mockito/junit/MockitoJUnitRunner.html

SpringJunit4ClassRunner

  • 专门用于 Spring 框架
  • 用于需要加载 spring 上下文(创建 spring bean、执行依赖注入(inject)等)时的集成测试。
  • 在集成测试中,您可能不会对依赖项进行太多的模拟,但您可以在同一个测试中同时进行这两项操作。
  • 当您想要测试加载 Spring 上下文或者从服务/高级别一直测试到较低级别(例如通过单个测试进行数据访问)时,集成测试非常有用。

在某些情况下,您可能想同时使用两者 - 例如集成测试,您还想模拟一些依赖项(也许它们进行远程调用)。不幸的是,你不能使用两个@RunWiths,但这是一篇很好的文章 - Multiple RunWith Statements in jUnit

关于java - @RunWith(MockitoJUnitRunner.class) 和 @RunWith(SpringJUnit4ClassRunner.class) 有什么区别?什么时候合适使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56738078/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com