所以参考文献建议
@BeforeEach
void setup( WebApplicationContext wac) {
this.mockMvc = MockMvcBuilders.webAppContextSetup( wac )
.apply( SecurityMockMvcConfigurers.springSecurity() )
.alwaysDo( print() )
.build();
}
为什么不把它作为构造函数注入呢(我没有试过这个,我只是假设它不会马上爆炸)
@Autowired
MyControllerTest(
@NonNull WebApplicatonContext wac
) {
this.mockMvc = MockMvcBuilders.webAppContextSetup( wac )
.apply( SecurityMockMvcConfigurers.springSecurity() )
.alwaysDo( print() )
.build();
}
1条答案
按热度按时间eagi6jfj1#
在使用junitjupiter时,是选择构造函数注入、方法注入还是字段注入是一个需要考虑的问题
SpringExtension
.参考手册中的示例简单地展示了使用
@BeforeEach
方法,因为许多人都熟悉在“before”方法中执行测试设置。您还可以设置
MockMvc
示例,并且您可以mockMvc
字段final
如果你愿意的话。在这次提交中,我在spring自己的测试套件中更新了一个测试类,以在实践中演示其中的一些技术。
请注意,测试类构造函数不需要用
@Autowired
如果它接受一个与ApplicationContext
.