@RunWith(MockitoJUnitRunner.class)
和 @RunWith(SpringJUnit4ClassRunner.class)
有什么区别?何时适当使用?
oigitojunitrunner
- 特定于Mockito测试框架
- 当您想将测试集中在单个类上并避免在依赖项上调用方法时,Mockito框架有助于嘲笑依赖关系(而是调用易于配置的模拟/虚拟(。
- 上面是Mockito的目的,但要特别了解此跑步者的更多信息 - 从文档中:"保持测试清洁并改善调试经验"。"跑步者是完全可选的 - 还有其他方法可以使@mock工作"。来源-https://static.javadoc.io/org.mockito/mockito-core/2.6.8/org/mockito/junit/mockitojunitrunner.html
SpringJunit4Classrunner
- 特定于弹簧框架
- 当需要加载弹簧上下文(创建弹簧豆,执行依赖项等(时,用于集成测试。
- 在集成测试中,您可能不会对依赖关系进行太多的嘲笑,但是可以在同一测试中进行同时进行。
- 集成测试在您想测试加载弹簧上下文或从服务/高级别的测试一直到较低级别(例如通过单个测试(进行测试时很有用。
在某些情况下,您可能想同时使用两者 - 例如集成测试,您也想在其中模拟一些依赖项(也许它们会拨打远程调用(。不幸的是,您不能使用两个@runwiths,但这是一个很好的文章 - junit中的多个runwith语句