java - 如何在Java JUnit中将这两个RunWith结合起来?

标签 java junit powermock

@RunWith(SpringRunner.class) @Runwith(PowerMockRunner.class)

如何合并这两个注释。由于 RunWith 仅支持单个值。

最佳答案

如果您正在使用JUnit 5,则无法使用它,因为PowerMock不支持support it还没有。

对于JUnit 4,使用@Runwith(PowerMockRunner.class)并使用@PowerMockRunnerDelegate添加SpringRunner.class注解。例如

    import org.springframework.test.context.junit4.SpringRunner; 
    import org.powermock.modules.junit4.PowerMockRunner;
    import org.powermock.modules.junit4.PowerMockRunnerDelegate;

    @RunWith(PowerMockRunner.class)
    @PowerMockRunnerDelegate(SpringRunner.class)
    @PrepareForTest(LogHelper.class)
    @WebMvcTest(controllers = UserController.class)
    public class UserControllerTest {

        @Autowired
        private MockMvc mockMvc;

        @Mock
        private UserService userService;

        @Test
        public void saveShouldReturnOK() {
            mockStatic(LogHelper.class);
            doNothing().when(LogHelper.info(anyString()));
            ....
        }
    } 

关于java - 如何在Java JUnit中将这两个RunWith结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59640289/

相关文章:

java - 通过cookie获取客户端环境信息

java - Android在线性布局中动态添加EditText

java - 如何在我的 Java 解决方案中包含 servlet-api.jar?

java - 获取 @Category 在 JUnit 的一组测试中出现的次数

spring - 每次我尝试运行我的 Junit 测试用例时都出现 NullPointer 异常

java - 测试调用 native 方法的代码

java - 如何在框架中显示图像?

java - IntelliJ IDE 中的 Junit 测试看不到用于测试的类

unit-testing - 在同一JUnit测试中同时使用Arquillian和PowerMock

java - PowerMock + Mockito VS Mockito 单独