> 文章列表 > Junit4升级Junit5汇总

Junit4升级Junit5汇总

Junit4升级Junit5汇总

Junit4升级Junit5汇总

  • 目录
    • MockMvcBuilders
    • UnnecessaryStubbingException

目录

记录Junit4升级到Junit5中遇到的问题和结局方案

MockMvcBuilders

问题:
将Junit4的@RunWith和@Rule都改成@ExtendWith后出现setup函数中MockMvcBuilders的参数不正确

@ExtendWith({SpringExtension.class, RestDocumentationExtension.class})
public class xxx{
/*** Restドキュメント*/public final ManualRestDocumentation restDocumentation = new ManualRestDocumentation("xxx");/*** コンテキスト*/@Autowiredprivate WebApplicationContext context;@BeforeEachpublic void setUp(){mockMvc = MockMvcBuilders.webAppContextSetup(this.context).apply(documentationConfiguration(this.restDocumentationContextProvider)).build();}

解决方案

@ExtendWith({SpringExtension.class, RestDocumentationExtension.class})
public class xxx{@BeforeEachpublic void setUp(WebApplicationContext context, RestDocumentationContextProvider restDocumentationContextProvider){mockMvc = MockMvcBuilders.webAppContextSetup(context).apply(documentationConfiguration(restDocumentationContextProvider)).build();}

UnnecessaryStubbingException

问题:
org.mockito.exceptions.misusing.UnnecessaryStubbingException:
Unnecessary stubbings detected.
解决:
在没有明确意图的情况下,基本上最好是修复代码,但这个错误可以通过将代码设置为 "宽松 "模式来抑制,正如错误信息中所述。 下面是一些抑制它的方法。
当使用JUnit 5(MockitoExtension)时,可以通过在@MockitoSettings注解中指定一个属性来抑制这一点。这个设置似乎适用于Mockito#mock方法的部分。

@ExtendWith(MockitoExtension.class)
@MockitoSettings(strictness = Strictness.LENIENT)
public class xxx{xxx}