上述代碼的運行結果如下:


圖 1. 運行環境測試案例結果
從上圖中可以很直觀的看出,筆者使用的 HarmONY 版本在該測試案例中速度更快(左圖),但內存消耗更多(右圖)。下一節將講述如何輸出報表,但或許你已經注意到了,代碼非常簡單。
從上面的實例中我們已經看到 p-unit 的輸出結果的兩種形式,控制臺和報表圖片。默認情況下,p-unit 將輸出到控制臺。p-unit 采用事件機制,在運行器的每個節點都會提供通知事件。所有的輸出都是通過注冊事件響應器來實現的。這也表明了結果輸出和運行器完全隔離,用戶也可以定制自己的報表。p-unit 有 4 種內建輸出,分別為控制臺、文件、圖片報表以及 PDF 報表。上一節的例子中我們已經看到圖片報表,其代碼為:
清單 10. 添加 p-unit 總體圖片報表
runner.addPUnitEventListener(new OverviewReporter(new ImageRender()));
p-unit 內建的報表有分三種不同的粒度:總體級別(OverviewReporter),TestSutie 級別(TestSuiteReporter),以及測試案例類級別(TestClassReporter)。這三種級別都可以輸出圖片格式或是 PDF 格式,因此,總共有六種類型的輸出。上述的代碼就是輸出總體級別的圖片。由于事件監聽器是互相獨立的,因此你可以既選擇輸出圖片又選擇輸出 PDF 文件,只需再添加事件監聽器即可:
清單 11. 添加多個 p-unit 事件監聽器
runner.addPUnitEventListener(new OverviewReporter(new ImageRender()));runner.addPUnitEventListener(new OverviewReporter(new PDFRender()));
總結
至此,你是否基本理解了 p-unit 的概念呢?簡單,易用,關注多線程,關注性能,這就是 p-unit。此外 p-unit 還有很多很好的小特性,如 Alphabetical 接口來保證執行測試函數的先后順序等。使用 p-unit,讓你的代碼更健壯!
文章來源于領測軟件測試網 http://www.kjueaiud.com/