日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Eclipse插件終極攻略:測試插件

在前兩篇文章分別介紹了Eclipse插件基本概念介紹和安裝實例,這篇文章我們將介紹一下Eclipse插件的測試。這個系列都翻譯自日文《Eclipse 3.4 対応 Eclipse 3.4 プラグイン開発 徹底攻略》,做對日外包和對Eclipse插件使用的朋友都可以參考本系列文章,閑話少敘,我們先來對我們已經(jīng)安裝好的Eclipse插件進(jìn)行測試。

推薦專題:Eclipse平臺應(yīng)用與開發(fā)詳解

1. 使用JUnit對插件進(jìn)行測試

Eclipse中已經(jīng)嵌入了JUnit,我們可以使用JUnit為插件進(jìn)行單體測試。一般的JUnit是不可以對插件部分(對Eclipse的API依賴的部分)進(jìn)行測試的,但是在PDE環(huán)境中使利用JUnit對插件進(jìn)行單元測試成為可能。

要想進(jìn)行測試首先要添加插件的依賴關(guān)系,在插件設(shè)定頁面的[依賴關(guān)系(Dependencies)]頁面點擊[增加(Add)]按鈕,添加[org.junit(3.8.2)]作為必須插件(圖3-1)。

 
圖3-1 增加org.junit插件的依賴關(guān)系

接下來,生成測試用例(TestCase)。測試用例和一般的JUnit用例相同,繼承junit.framework.TestCase。代碼1中的測試用例說明了,在工作臺頁面中打開一個視圖,并且確認(rèn)打開的視圖處于激活狀態(tài)。

代碼1 插件測試用例的示例

 
 
 
 
  1. public class SampleViewTest extends TestCase {
  2.  
  3.     public SampleViewTest(String name) throws Exception {
  4.         //取得當(dāng)前活動的頁面
  5.         IWorkbench workbench = PlatformUI.getWorkbench();
  6.         IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
  7.         IWorkbenchPage page = window.getActivePage();
  8.          
  9.         //打開視圖
  10.         page.showView("cn.sf.amateras.sample.views.SampleView");
  11.          
  12.         //確認(rèn)打開的視圖處于激活狀態(tài)
  13.         IWorkbenchPart activePart = page.getActivePart();
  14.         assertTrue(activePart instanceof IViewPart);
  15.         assertEquals("cn.sf.amateras.sample.views.SampleView",
  16.                 activePart.getSite().getId());
  17.     }
  18.  
  19. }

當(dāng)前這個測試用例可以通過在測試類上點右鍵[執(zhí)行(Run As)]->[JUnit插件測試(JUnit Plug-in Test)]執(zhí)行。

 
圖3-2 執(zhí)行JUnit插件測試

#p#

2. 調(diào)試和錯誤處理

調(diào)試插件

用調(diào)試模式啟動運行時工作臺后,像一般的java程序一樣,在程序中設(shè)置斷點就可以了。調(diào)試模式的啟動可以從manifest編輯器的概要頁面,點擊[調(diào)試Eclipse應(yīng)用(Lunach an Eclipse Application in Debug mode)],或者點擊工具欄上的調(diào)試按鈕。

在錯誤發(fā)生時,需要做以下兩件事:

1)通知使用者

2)記錄日志

輸出日志

向Eclipse下的[.metadata]文件夾的[/.log]文件進(jìn)行日志輸出。輸出日志時使用org.eclipse.core.runtime.ILog接口,通過插件類獲得ILog接口的實例。如代碼2所示

代碼2 輸出日志

 
 
 
 
  1. ILog log = Activator.getDefault().getLog();
  2.          
  3. log.log(new Status(IStatus.OK, Activator.PLUGIN_ID,
  4.     0, "正常消息", null));
  5.          
  6. log.log(new Status(IStatus.OK, Activator.PLUGIN_ID,
  7.     0, "異常消息", new Exception("輸出日志的異常")));

Status對象的構(gòu)造函數(shù)的參數(shù)如表1所示。

表1 Status的構(gòu)造參數(shù)

參數(shù) 說明
int severty 重要度。候選值有IStatus.OK、IStatus.ERROR、IStatus.INFO、IStatus.WARNING、IStatus.CANCEL。
String pluginId 插件的ID
int code 插件固定的消息code,或者是IStatus.OK。
String message 輸出日志的消息。
Throwable exception 輸出日志的異常。沒有時候添null。

錯誤通知

錯誤發(fā)生后通知使用者的方法有很多,最簡單的方法就是使用JFace的org.eclipse.jface.dialogs.ErrorDialog類。

代碼3 使用ErrorDialog

 
 
 
 
  1. try{
  2.     //....
  3. }catch(Exception e){
  4.     IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID,
  5.             0, e.toString(), e);
  6.     ErrorDialog.openError(window.getShell(), "錯誤", "插件出錯了!", status);
  7. }

運行時工作臺啟動時的參數(shù)

Eclipse是由很多的插件構(gòu)成的,在其背后運行著非常復(fù)雜的處理,所以也需要相應(yīng)的內(nèi)存。特別是,很多的插件在加載龐大的類時,就很容易出現(xiàn)VM常駐(permanent)區(qū)域的不足的情況。

通常,Eclipse使用的堆(Heap)區(qū)和常駐區(qū)的大小可以通過Eclipse安裝目錄下的eclipse.ini文件進(jìn)行設(shè)定。

代碼4 默認(rèn)的eclipse.ini文件

 
 
 
 
  1. -showsplash
  2.  
  3. org.eclipse.platform
  4.  
  5. --launcher.XXMaxPermSize
  6.  
  7. 256m
  8.  
  9. --launcher.defaultAction
  10. openFile
  11.  
  12. -vmargs
  13.  
  14. -Dosgi.requiredJavaVersion=1.5
  15.  
  16. -Xms40m
  17.  
  18. -Xmx512m

在插件開發(fā)過程中如果出現(xiàn)內(nèi)存空間不足的時候,也可以通過[運行(Run)]->[運行設(shè)定(Run Configurations)]窗口的[參數(shù)]tab頁中的[VM參數(shù)]項來指定空間的大小。

 
圖3-3 VM參數(shù)設(shè)定


當(dāng)前標(biāo)題:Eclipse插件終極攻略:測試插件
URL地址:http://www.5511xx.com/article/cooigjs.html