您的位置:首页 > 其它

Junit的使用入门,判断控制台输出是否与预期相同

2015-04-27 10:53 417 查看
       Junit是一个强大的测试工具,可以用来写测试用例,相当于白盒测试,与maven搭配使用,可以使协同开发提高效率,测试人员将测试用例及单元测试编写在test包中,进行测试。

       


在我新建的maven项目中,main包中有两个类,分别是含有main()函数的App类,和含有Writer的javabean类,功能非常简单,Writer类的构造函数可以实现在控制台打印“Hello World”,在有main()函数的App类中实例化Writer,即可实现在控制台打印“Hello world”。

针对Writer类的Junit测试如下:

首先,新建WriterTest类,编写如下代码:

public class WriterTest extends TestCase {
public void testAdd(){
<pre name="code" class="java"> final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));
Writer mywriter = new Writer(); assertEquals("Hello April!\n", outContent.toString()); } }


        这段代码的精华在于

final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
System.setOut(new PrintStream(outContent));


这两行读取了控制台的输出,在断言部分只需要判断控制台的输出与我们的预期是否一致即可。
在AppTest中需要编写如下代码:

public class AppTest extends TestCase
{
public static Test suite() {
TestSuite suite = new TestSuite("TestSuite Test");
suite.addTestSuite(WriterTest.class);
return suite;
}
public static void main(String args[]){
TestRunner.run(suite());
}
}


完成后,单击右键选择,run as Junit Test,即可看到测试结果,如图所示:



表明测试通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐