小编FMC*_*FMC的帖子

带有控制器建议的 Spring 模拟 MVC 单元测试

我正在尝试测试我的控制器建议异常处理。我已将我的控制器建议注册到我的 mockmvc:

mockMvc = MockMvcBuilders.standaloneSetup(controller)
            .setControllerAdvice(new ExceptionHandlingControllerAdvice())
            .build();
Run Code Online (Sandbox Code Playgroud)

我可以在控制台中看到测试正在选择异常处理方法:

org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver Detected @ExceptionHandler methods in com.myapp...ExceptionHandlingControllerAdvice
Run Code Online (Sandbox Code Playgroud)

ExceptionHandlingControllerAdvice 类有一个处理安全异常的方法:

@ExceptionHandler(SecurityException.class)
Run Code Online (Sandbox Code Playgroud)

当我的单元测试抛出 SecurityException 时,测试失败并显示堆栈跟踪,而不是调用控制器建议中的处理程序方法。

我做错了什么吗?

java spring unit-testing spring-mvc spring-test

2
推荐指数
1
解决办法
3392
查看次数

为什么这不编译

我正在尝试使用Java来理解运算符优先级.基于我所阅读的内容,我认为以下代码应该有效:

System.out.println(("" + (1--2)));
Run Code Online (Sandbox Code Playgroud)

我认为应按此顺序进行评估:

  • (1--2)变为3
  • (""+ 3)变为"3"
  • 的System.out.println( "3")

所以我希望它打印3但它似乎不是合法代码.有人可以解释我的错误吗?

java javac

0
推荐指数
1
解决办法
86
查看次数

标签 统计

java ×2

javac ×1

spring ×1

spring-mvc ×1

spring-test ×1

unit-testing ×1