我无法在JUnit testing内使用OutputCapture
功能。我想使用此功能查看一些日志消息。
如果我试图在IDEA中包含类包org.springframework.book.test.rule.OutputCapture
,它会向我显示警告消息“无建议”。这样我就无法访问outputCapture类(甚至测试包也不可见)。
正如我在website上发现的那样,从1.3版本开始支持此类。 但是我使用正确的春季启动版1.5。
import org.junit.Rule;
import org.junit.Test;
import org.springframework.boot.test.rule.OutputCapture; THIS IS NOT RECOGNIZED
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
public class MyTest {
@Rule
public OutputCapture capture = new OutputCapture();
@Test
public void testName() throws Exception {
System.out.println("Hello World!");
assertThat(capture.toString(), containsString("World"));
}
}
有什么问题?
答案 0 :(得分:0)
一个广泛的猜测,因为我不知道您的依赖项:如果您使用的是maven,请尝试添加以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.1.6.RELEASE</version> <!-- or another version -->
<scope>test</scope>
</dependency>
原因是OutputCapture
来自项目spring-boot-test
。
Github:OutputCapture