【发布时间】:2018-10-25 02:07:57
【问题描述】:
我正准备参加我的 Spring 认证 v5.0,似乎有一个问题:您在单元测试中使用 Spring 吗?Link to Exam Guide questions。
来自Spring reference guide我知道这个:
组成您的应用程序的 POJO 应该可以在 JUnit 或 TestNG 测试,使用 new 运算符简单地实例化对象, 没有 Spring 或任何其他容器。
从我的研究中我也可以看出,我们只在测试控制器(如下所示)、存储库或创建集成测试以及其他一些情况时使用 Spring。在这些情况下,我们需要 TestContext,它是 org.springframework.* 包的一部分。
@RunWith(SpringRunner.class)
@WebMvcTest(HelloWorldController.class)
那么,这个问题的正确答案是:不,我们不使用 Spring? 或者说,是的,我们确实需要它。因为我们显然在某些情况下使用它。
【问题讨论】:
-
@Downvoter:你不需要仅仅因为我试图更好地理解一个概念而投反对票。 :)
-
'using Spring'和'using a SpringRunner'并不完全相同
-
嘿@Stultuske,你是对的,但是由于SpringRunner是在springframework包上找到的:(org.springframework.test.context.junit4.SpringRunner),我推断出我们实际上在这里使用的是Spring ;并且测试模块自带弹簧芯
标签: java spring unit-testing spring-boot junit