簡體   English   中英

在諸如JUnit和TestNG的測試框架中,測試執行偵聽器的典型用例是什么?

[英]What are typical uses cases for Test Execution Listeners in Testing Frameworks such as JUnit and TestNG?

JUnit,TestNG和Spring測試將測試執行偵聽器作為擴展機制。 測試執行偵聽器似乎是框架開發人員和工具開發人員感興趣的低級功能。

測試執行偵聽器有用的主要用例是什么? 它們對應用程序開發人員有用嗎?

對於testng而言,對於我來說,列出者是最傑出的事情。 testNg列表器使我可以簡單地確定測試方法的內容,並通過服務器啟動,用戶注冊以及填充測試所需的工件來管理每個測試。 並為每個測試周期清理環境。

在每個偵聽器級別,我都會執行以下操作,因此我不必在測試過程中為它們打擾

IExecutionListener

   - onExecutionStart()
         Emma instrumentations
         Server start 
  - onExecutionFinish()
         Server Sutdown
         Emma report generation
  • ISuiteListener設置環境屬性(密鑰存儲路徑除外)

      Populate Users. 
  • ITestListener

    • 開始時

        Artifact Deployment 
    • 在完成

        Artifact Clean up 
  • iReporter

  • 生成TestNg報告,生成保證報告,為儀表板導出數據

對於JUnit,偵聽器被設計為一種報告方法,並且在內部像這樣使用。 因此,您可以顯示執行的測試計數,成功,失敗,錯誤等等。 這也可以在外部使用,例如在maven-surefire中 請參見JUnit4RunListener.java作為示例。

另一個用途是以其他格式輸出,例如XML。 我認為其他框架的主要用例是相同的。

在JUnit中,不應該以Dharshana在testng中使用其測試監聽器的方式使用監聽器類,即,將其用作設置/拆卸。 偵聽器中使用的對象( DescriptionFailureResult )是不可變的,並且不鼓勵直接訪問測試類本身。 我不確定TestNG,Cedric會是一個更好的人。

它們對應用程序開發人員有用嗎? 可能取決於測試的設置方式。 它們只會在測試的環境中使用,因此,如果它們可以改進它們,那么請繼續使用它們。 一種用例是使用JavaDoc豐富JUnit測試報告 ,請參閱我的回答 概括一下答案,如果開發人員為特定錯誤添加了測試,則他們可以在該測試中添加注釋,將其鏈接回該錯誤。 有一個自定義的RunListener,它將收集注釋中的所有信息,並為最終客戶生成報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM