WEB开发网
开发学院软件开发Java 使用 Grester 简化 Java 应用程序的 JUnit 测试 阅读

使用 Grester 简化 Java 应用程序的 JUnit 测试

 2010-01-11 00:00:00 来源:WEB开发网   
核心提示: 在 CommandExecutor 类中,executeCommand() 方法将调用同一个类 processStream() 中的受保护方法,使用 Grester 简化 Java 应用程序的 JUnit 测试(9),在 processStream() 方法中,将在 while() 循环中创建一

在 CommandExecutor 类中,executeCommand() 方法将调用同一个类 processStream() 中的受保护方法。在 processStream() 方法中,将在 while() 循环中创建一个新 StringBuffer 实例并且处理 InputStream。清单 4 显示了测试类,还显示了测试的主要部分。


清单 4. Maven 项目中的示例测试类
        package com.prometheus.run; 
import com.prometheus.run.CommandExecutor; 
... 
public class CommandExecutorTest extends TestCase { 
 ... 
 public class MockProcess extends Process{ 
    ... 
    public InputStream getInputStream(){ 
      String source= "This is a mock string"; 
      return new ByteArrayInputStream(source.getBytes()); 
     } 
    public OutputStream getOutputStream(){ 
      return null; 
    } 
    public int waitFor(){ 
      return 1; 
    } 
  } 
 public void testExecuteCommmand(){ 
    String expected = "This is a mock string"; 
    String actual = commandExecutor.executeCommand("lsmod"); 
    assertEquals(expected, actual); 
    ... 
  } 
 } 

测试类 CommandExecutorTest 相对简单。虽然给出的详细信息不多,但是此单元测试的基本目标是在测试时通过类的 performCommandExecution() 方法调用来模拟 Process 类的行为。

上一页  4 5 6 7 8 9 10  下一页

Tags:使用 Grester 简化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接