WEB开发网
开发学院软件开发Java 追求代码质量: 探究 XMLUnit 阅读

追求代码质量: 探究 XMLUnit

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 清单 1 很明显是由应用程序生成的;因而,第一层测试就是验证应用程序是否真能生成一个文档,追求代码质量: 探究 XMLUnit(2),一旦验证了这一点,就可以继续测试指定文档的其他三个方面:结构 内容指定内容可以通过单独使用 JUnit 利用 String 比较处理上述前两个方面

清单 1 很明显是由应用程序生成的;因而,第一层测试就是验证应用程序是否真能生成一个文档。一旦验证了这一点,就可以继续测试指定文档的其他三个方面:

结构

内容

指定内容

可以通过单独使用 JUnit 利用 String 比较处理上述前两个方面,如清单 2 所示:


清单2. 硬性验证 XML

public class XMLReportTest extends TestCase { 
 
 private Filter[] getFilters(){ 
 Filter[] fltrs = new Filter[2]; 
 fltrs[0] = new RegexPackageFilter("java|org"); 
 fltrs[1] = new SimplePackageFilter("net."); 
 return fltrs; 
 } 
 
 private Dependency[] getDependencies(){ 
 Dependency[] deps = new Dependency[2]; 
 deps[0] = new Dependency("com.acme.resource.Configuration"); 
 deps[1] = new Dependency("com.acme.xml.Document"); 
 return deps; 
 } 
 
 public void testToXML() { 
 Date now = new Date(); 
 BatchDependencyXMLReport report = 
  new BatchDependencyXMLReport(now, this.getFilters()); 
 
 report.addTargetAndDependencies( 
  "com.acme.web.Widget", this.getDependencies()); 
 report.addTargetAndDependencies( 
  "com.acme.web.Account", this.getDependencies()); 
 
 String valid = "<DependencyReport date=\"" + now.toString() + "\">"+ 
  "<FiltersApplied><Filter pattern=\"java|org\" /><Filter pattern=\"net.\" />"+ 
  "</FiltersApplied><Class name=\"com.acme.web.Widget\">" + 
  " <Dependency name=\"com.acme.resource.Configuration\" />"+ 
  "<Dependency name=\"com.acme.xml.Document\" /></Class>"+ 
  "<Class name=\"com.acme.web.Account\">"+ 
  "<Dependency name=\"com.acme.resource.Configuration\" />"+ 
  "<Dependency name=\"com.acme.xml.Document\" />"+ 
  "</Class></DependencyReport>"; 
 
  assertEquals("report didn't match xml", valid, report.toXML()); 
 } 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:追求 代码 质量

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