我在Spring Boot应用程序中的Logback配置有问题.我希望我consoleAppender看起来像默认的Spring Boot控制台appender.如何从Spring Boot默认控制台appender继承模式?
以下是我的consoleAppender配置
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern class="org.">
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud) 我想模拟restOperation来抛出异常,但我得到MockitoException而不是采取适当的异常.这对我来说很奇怪,因为当我试图测试快乐路径几乎相同的模拟调用工作正常.有什么问题:
工作模拟:
Mockito.when(restOperations.exchange(
Mockito.anyString(), Mockito.<HttpMethod>any(), Mockito.<HttpEntity<?>>any(),
Mockito.<Class<UserByRoleHolder>>any())).thenReturn(new ResponseEntity<>(userByRoleHolder, HttpStatus.OK));
Run Code Online (Sandbox Code Playgroud)
模拟投掷MockitoException:
Mockito.when(restOperations.exchange(
Mockito.anyString(), Mockito.<HttpMethod>any(), Mockito.<HttpEntity<?>>any(),
Mockito.<Class<UserByRoleHolder>>any())).thenThrow(new ConnectException("Test exception"));
Run Code Online (Sandbox Code Playgroud)
这是我的方法实现:
ResponseEntity<UserByRoleHolder> entity = null;
try {
entity = restOperations.exchange(userProfileUrl, HttpMethod.GET,
authorizedHttpEntityFactory.getAuthorizedHttpEntity(null), UserByRoleHolder.class);
} catch (RestClientException e) {
throw new ConnectException(e.getMessage());
}
return entity.getBody();
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
Unexpected exception, expected<java.net.ConnectException> but was<org.mockito.exceptions.base.MockitoException>
java.lang.Exception: Unexpected exception, expected<java.net.ConnectException> but was<org.mockito.exceptions.base.MockitoException>
at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:28)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl.run(JUnit45AndHigherRunnerImpl.java:37)
at org.mockito.runners.MockitoJUnitRunner.run(MockitoJUnitRunner.java:62)
at …Run Code Online (Sandbox Code Playgroud)