junit拦截控制台输出,用于测试断言验证System.out.println的输出为预期输出。注意不同颜色标注的代码。
public class TestSystemTool {
PrintStream console = null; // 声明(为null):输出流 (字符设备) console
ByteArrayOutputStream bytes = null; // 声明(为null):bytes 用于缓存console 重定向过来的字符流
@org.junit.Before
public void setUp() throws Exception {
//System.out.println("start");
bytes = new ByteArrayOutputStream(); // 分配空间
console = System.out; // 获取System.out 输出流的句柄
System.setOut(new PrintStream(bytes)); // 将原本输出到控制台Console的字符流 重定向 到 bytes
}
@org.junit.After
public void tearDown() throws Exception {
System.setOut(console);
//System.out.println("end");
}
@Test
public void testConsoleOut(){
System.out.println("输出文本。");
String s = new String("输出文本。\r\n"); // 注意:控制台的换行,Windows用 '\r\n' 表示,如果其他操作系统有可能是'\n',这是因为每个操作系统对换行有不同的理解和实现。
assertEquals(s, bytes.toString()); // bytes.toString() 作用是将 bytes内容 转换为字符流
bytes.reset(); //同个方法中有多个System.out.println输出的话,要清除bytes中之前的缓存内容,否则输出叠加。
System.out.println("输出文本。");
assertEquals(s, bytes.toString()); // bytes.toString() 作用是将 bytes内容 转换为字符流
}
}
分享到:
相关推荐
单元测试 JUnit 断言 注解 mock Unitils spring 注解
JUnit常用断言方法JUnit常用断言方法.txtJUnit常用断言方法.txt
联想培训junit断言函数学习教案.pptx
联想培训junit断言函数PPT学习教案.pptx
junit各种断言,各种断言,最全,junit各种断言,各种断言,最全,
JUnit断言的替代方案,可为您的测试提供更深入的日志描述 目录 用例 Visible Assertions被设计用来代替标准的JUnit Assert类,从而提供了许多核心assert*方法的实现。 每个方法都带有一个附加参数,开发人员可以使用...
Junit通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比较,对于void类型的方法,我们无法从它的return语句获得具体的返回值。...
junit测试测试junit测试测试junit测试测试junit测试测试
此脚本为 Java 中 JSON 对象模型的 JUnit 测试编写了超级简单的断言 用它 特征 基本相等检查 能够将键名引用为lowerCamelCase(如果您使用来自GSON的@SerializedName(…)的东西 贡献 叉 做出改变 测试您的更改 提交...
go-junit-report, 将测试输出转换为 junit go-junit-report将 go test 输出转换为一个适合于期望使用junit报表的应用程序( 比如 。 ( 译): ) 。 安装需要版本 1.1或者更高版本。 使用 go get 命令安装或者更新:go g
Junit入门培训资料(断言相关),自己总结
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage,包含依赖包:junit-jupiter-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-platform-launcher-1.5.1.jar,junit-...
junit4.1junit4.1junit4.1junit4.1junit4.1
JUNIT介绍.JUNIT介绍.JUNIT介绍.JUNIT介绍.
Junit 5中文帮助指南,JUnit 5跟以前的JUnit版本不一样,它由几...此外,平台还提供了一个从命令行或者 Gradle 和 Maven 插件来启动的 控制台启动器 ,它就好比一个 基于JUnit 4的Runner 在平台上运行任何TestEngine。
JUnit API JUnit API JUnit API JUnit API JUnit API
Files contained in junit4-4.8.2.jar: LICENSE.txt META-INF/MANIFEST.MF junit.extensions.ActiveTestSuite.class junit.extensions.RepeatedTest.class junit.extensions.TestDecorator.class junit.extensions...
附带junit4的jar包, 两个主类 两个测试类
关于junit的介绍 关于关于junit的介绍关于junit的介绍关于junit的介绍关于junit的介绍关于junit的介绍关于junit的介绍