亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 >
追求代碼質量: 探究 XMLUnit
作者:網絡轉載 發布時間:[ 2013/2/25 14:18:01 ] 推薦標簽:

在軟件開發周期中,需要不時地驗證 XML 文檔的結構或內容。不管構建的是何種應用程序,測試 XML 文檔都具有一定的挑戰性,尤其是在沒有相關工具的情況下更是如此。

本月,我將首先向您說明為何不能 使用 String 比較來驗證 XML 文檔的結構和內容。之后,我會介紹 XMLUnit,一個由 Java 開發人員創建并可服務于 Java 開發人員的 XML 驗證工具,向您展示如何使用它來驗證 XML 文檔。

古典的 String 比較

首先,假設您已經構建了一個應用程序,該應用程序可以輸出代表對象依賴性報告的 XML 文檔。對于給定的類和對應的過濾器的集合,會生成一個報告來輸出類和類的依賴項(想象一下導入)。

清單 1 顯示了用于給定類列表(com.acme.web.Widget 和 com.acme.web.Account)的報告,過濾器被設為忽略外部類,比如 java.lang.String:

清單 1. 一個示例依賴性 XML 報告

    
<DependencyReport date="Sun Dec 03 22:30:21 EST 2006">
  <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>


清單 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());
 }
}

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 天天爱天天爽 | 性xxxxx大片免费视频 | 亚洲国产欧美在线 | 欧美老妇69交 | 男女一进一出无遮挡黄 | 九九精品国产99精品 | 伊人影视在线观看日韩区 | 国产一区二区在线视频 | 久久天天躁夜夜躁狠狠躁2019 | 宠溺高h共妻 | 欧美成人精品在线 | 亚洲一区二区在线免费观看 | 又色又爽又黄的视频女女高清 | 在线播放亚洲精品 | 高清欧美日本视频免费观看 | 中文字幕一区二区三区视频在线 | 三级a黄| 99精品欧美一区二区三区美图 | 欧美人人爽 | 国产亚洲欧美另类一区二区三区 | 欧美日韩视频精品一区二区 | 天天插在线视频 | 天天激情综合 | 亚洲12色吧 | 欧美日韩国产一区二区三区播放 | 在线视频一区二区三区四区 | 免费福利在线 | 成人午夜性a一级毛片美女 成人午夜小视频 | 色综合区| 日本无翼乌全彩无遮挡动漫 | 国产精品久久久久久网站 | 国产精品视频福利一区二区 | 国产啪精品视频网免费 | 日本二级黄色片 | 亚洲欧美v国产一区二区 | 成年网在线观看免费观看网址 | 久久综合丝袜长腿丝袜 | 久久狠狠 | 欧美日韩国产一区二区三区伦 | 久久国产精品成人免费 | 午夜影院免费观看视频 |