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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
Java標準單元測試庫JUnit4
作者:網絡轉載 發布時間:[ 2013/3/7 13:27:12 ] 推薦標簽:

  
  這種方法使得測試受保護的方法非常容易,因為測試案例類現在可以擴展包含受保護方法的類了。
  
  SetUp 和 TearDown
  
  JUnit 3 測試運行程序(test runner)會在運行每個測試之前自動調用 setUp() 方法。該方法一般會初始化字段,打開日志記錄,重置環境變量,等等。例如,下面是摘自 XOM 的 XSLTransformTest 中的 setUp() 方法:
  

  protected void setUp() {      System.setErr(new PrintStream(new ByteArrayOutputStream()));      inputDir = new File("data");   inputDir = new File(inputDir, "xslt");   inputDir = new File(inputDir, "input");      }

  
  

在 JUnit 4 中,您仍然可以在每個測試方法運行之前初始化字段和配置環境。然而,完成這些操作的方法不再需要叫做 setUp(),只要用 @Before 注釋來指示即可,如下所示:
  

  @Before protected void initialize() {      System.setErr(new PrintStream(new ByteArrayOutputStream()));      inputDir = new File("data");   inputDir = new File(inputDir, "xslt");   inputDir = new File(inputDir, "input");      }


  
  甚至可以用 @Before 來注釋多個方法,這些方法都在每個測試之前運行:
  

  @Before protected void findTestDataDirectory() {   inputDir = new File("data");   inputDir = new File(inputDir, "xslt");   inputDir = new File(inputDir, "input");   }      @Before protected void redirectStderr() {   System.setErr(new PrintStream(new ByteArrayOutputStream()));   }


  
  清除方法與此類似。在 JUnit 3 中,您使用 tearDown() 方法,該方法類似于我在 XOM 中為消耗大量內存的測試所使用的方法:
  

  protected void tearDown() {   doc = null;   System.gc();   }


  
  對于 JUnit 4,我可以給它取一個更自然的名稱,并用 @After 注釋它:
  

  @After protected void disposeDocument() {   doc = null;   System.gc();   }


  
  與 @Before 一樣,也可以用 @After 來注釋多個清除方法,這些方法都在每個測試之后運行。
  
  后,您不再需要在超類中顯式調用初始化和清除方法,只要它們不被覆蓋即可,測試運行程序將根據需要自動為您調用這些方法。超類中的 @Before 方法在子類中的 @Before 方法之前被調用(這反映了構造函數調用的順序)。@After 方法以反方向運行:子類中的方法在超類中的方法之前被調用。否則,多個 @Before 或 @After 方法的相對順序得不到保證。
  
  套件范圍的初始化
  
  JUnit 4 也引入了一個 JUnit 3 中沒有的新特性:類范圍的 setUp() 和 tearDown() 方法。任何用 @BeforeClass 注釋的方法都將在該類中的測試方法運行之前剛好運行一次,而任何用 @AfterClass 注釋的方法都將在該類中的所有測試都運行之后剛好運行一次。
  
  例如,假設類中的每個測試都使用一個數據庫連接、一個網絡連接、一個非常大的數據結構,或者還有一些對于初始化和事情安排來說比較昂貴的其他資源。不要在每個測試之前都重新創建它,您可以創建它一次,并還原它一次。該方法將使得有些測試案例運行起來快得多。例如,當我測試調用第三方庫的代碼中的錯誤處理時,我通常喜歡在測試開始之前重定向 System.err,以便輸出不被預期的錯誤消息打亂。然后我在測試結束后還原它,如下所示:
  
  // This class tests a lot of error conditions, which
  // Xalan annoyingly logs to System.err. This hides System.err
  // before each test and rest

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 欧美videos极品另类 | 好男人社区成人影院在线观看 | 人人做人人爽人人爱秋霞影视 | 国产黄大片在线观 | 黄色在线免费观看网址 | 无遮羞成人的动漫在线观看 | 国产一区二区三区视频在线观看 | 毛片录像 | 日韩高清一区 | 日韩在线观看视频黄 | 欧美成人午夜视频免看 | 欧美一级淫片aaaaaaa视频 | 激情综合亚洲 | 日韩欧美中文在线 | 狂野欧美性猛交xxxx免费按摩 | 一级香蕉视频 | 韩国精品一区二区 | 手机毛片在线观看 | 亚洲成a人片在线观看www | 最近最新的日本免费 | 免费人成大片在线观看播放 | 欧美一级高清视频在线播放 | 日本欧美一级二级三级不卡 | 日本高清中文字幕一区二区三区a | 99免费观看视频 | 毛片在线全部免费观看 | 一级特黄aa大片免费播放视频 | 91久久99热青草国产 | 日韩免费在线观看 | 在线国产二区 | 在线播放人成午夜免费视频 | 欧美成人精品一区二区 | 中文字幕日韩专区精品系列 | 欧美笫一页 | 午夜视频成人 | 无码日韩精品一区二区免费 | 在线免费看毛片 | 9久热久re爱免费精品视频 | 污污网站免费入口链接 | 国产一级视频久久 | 一级毛片a女人刺激视频免费 |