我試圖從這裏[1]調整pde單元測試自動化過程來處理多個測試套件。本文使用無法處理多個測試套件的org.eclipse.jdt.internal.junit.model.ITestRunListener2。我正在考慮使用org.eclipse.jdt.junit.TestRunListener。爲Eclipse PDE單元自動化過程添加多測試套件支持
我試圖轉換包含的實現org.eclipse.jdt.internal.junit.model.ITestRunListener2的實施junit.runner.TestRunListener因爲它testRunStarted()方法包括一個測試套件名稱參數,但未能找到任何例如關於如何使org.eclipse.jdt.internal.junit.model.RemoteTestRunnerClient變爲使用它(即使PDE測試結果協議支持它,我也不確定)。
- 使用JUnitCore.addTestRunListener(listener)是否能夠替換整個測試結果偵聽器方法?沒有必要能夠遠程運行測試。
- 有關如何將多套件支持添加到[1]的任何其他建議?
[1] http://www.eclipse.org/articles/article.php?file=Article-PDEJUnitAntAutomation/index.html
你好,這是OP,無法添加保羅的CommNet韋伯斯特的答覆,所以我張貼這一點。
RemoteTestRunnerClient的事情是,它根據org.eclipse.jdt.internal.junit.runner.MessageId中定義的協議將通知委託給它的偵聽器,並從TCP套接字讀取消息。問題在於TEST_RUN_START/END消息不包含套件的名稱,導致所有測試都與同一套件相關聯。
我在設置自動化測試框架的同時查看了Eclipse測試框架,但沒有找到任何令人信服的理由來支持它,而不是在文章中建議的方法。我不確定,但我認爲文章不使用ETF的原因是對測試結果彙總缺乏足夠的支持。現在我明白能夠指定哪些套件應該通過test.xml文件運行,因爲我正在使用傳遞給'org.eclipse.pde.junit.runtime.coretestapplication'應用程序的'-classnames'參數。我不介意考慮改用ETF,但事先想要有一個令人信服的理由。底線是,我的設置做了99%的要求,我更喜歡快速-&二性解決方法,作爲對抗完整的測試系統轉換。