WEB开发网
开发学院软件开发Java 实战 Groovy: 用 Groovy 更迅速地对 Java 代码进行... 阅读

实战 Groovy: 用 Groovy 更迅速地对 Java 代码进行单元测试

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 与 StrutsTestCase 和 DbUnit 一样,Groovy 对 JUnit 的 TestCase 的扩展给您的工具箱带来了一些重要的新特性,实战 Groovy: 用 Groovy 更迅速地对 Java 代码进行单元测试(5),这个特殊的扩展允许您通过 groovy 命令运行测试套件,

与 StrutsTestCase 和 DbUnit 一样,Groovy 对 JUnit 的 TestCase 的扩展给您的工具箱带来了一些重要的新特性。这个特殊的扩展允许您通过 groovy 命令运行测试套件,而且提供了一套新的 assert 方法。可以用这些方法很方便地断言脚本的运行是否正确,以及断言各种数组类型的长度和内容等。

享受 GroovyTestCase 的快乐

了解 GroovyTestCase 的能力最好的办法,莫过于实际看到它的效果。在清单 3 中,我已经编写了一个新的 SimpleFilterTest,但是这次我要扩展 GroovyTestCase 来实现它:


清单 3. 一个真正的 GroovyTestCase
import groovy.util.GroovyTestCase 
import com.vanward.sedona.frmwrk.filter.impl.SimplePackageFilter 
class SimpleFilterTest extends GroovyTestCase { 
 
 void testSimpleJavaPackage() { 
  fltr = new SimplePackageFilter() 
  fltr.setFilter("java.")  
  val = fltr.applyFilter("java.lang.String")  
  assertEquals("value should be true", true, val) 
 } 
} 

请注意,可以通过命令行来运行该测试套件,没有运行基于 Java 的 JUnit 测试套件所需要的 main() 方法。实际上,如果我用 Java 代码编写上面的 SimpleFilterTest,那么代码看起来会像清单 4 所示的那样:


清单 4. 用 Java 代码编写的同样的测试用例
import junit.framework.TestCase; 
import com.vanward.sedona.frmwrk.filter.Filter; 
import com.vanward.sedona.frmwrk.filter.impl.SimplePackageFilter; 
public class SimplePackageFilterTest extends TestCase {    
  public void testSimpleRegex() { 
 Filter fltr = new SimplePackageFilter(); 
 fltr.setFilter("java."); 
 boolean val = fltr.applyFilter("java.lang.String"); 
 assertEquals("value should be true", true, val); 
  } 
 
  public static void main(String[] args) { 
 junit.textui.TestRunner.run(SimplePackageFilterTest.class); 
  } 
} 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:实战 Groovy Groovy

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