自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Eclipse插件終極攻略:測試插件

開發(fā) 后端
本文為51CTO挑選的一篇日文開發(fā)的資料《Eclipse 3.4 対応 Eclipse 3.4 プラグイン開発 徹底攻略》中的“Eclipse插件測試”部分……

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

51CTO推薦專題:Eclipse平臺應用與開發(fā)詳解

1. 使用JUnit對插件進行測試

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

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

增加org.junit插件的依賴關系 
圖3-1 增加org.junit插件的依賴關系

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

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

  1. public class SampleViewTest extends TestCase {  
  2.    
  3.     public SampleViewTest(String name) throws Exception {  
  4.         //取得當前活動的頁面  
  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.         //確認打開的視圖處于激活狀態(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.    

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

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

#p#

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

調(diào)試插件

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

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

1)通知使用者

2)記錄日志

輸出日志

向Eclipse下的[.metadata]文件夾的[/.log]文件進行日志輸出。輸出日志時使用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);  

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

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

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

代碼4 默認的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)]->[運行設定(Run Configurations)]窗口的[參數(shù)]tab頁中的[VM參數(shù)]項來指定空間的大小。

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

【編輯推薦】

  1. Eclipse插件終極攻略:安裝實例
  2. Eclipse插件終極攻略:基本概念介紹
  3. Eclipse插件大全 挑選最牛的TOP30
責任編輯:佚名 來源: 博客園
相關推薦

2010-08-17 11:03:14

Eclipse插件

2010-08-16 16:23:00

Eclipse插件

2009-06-04 20:26:45

2009-06-03 16:06:28

Eclipse插件開發(fā)Eclipse

2013-07-16 15:35:54

Eclipse插件Android開發(fā)學習

2009-06-15 16:35:44

Spring IDEEclipse插件

2009-06-18 14:28:24

Eclipse中添加M

2014-11-24 09:49:33

Eclipse

2011-11-21 10:04:52

Java開源Google

2013-05-27 15:07:36

Eclipse插件

2012-05-22 01:01:28

EclipseEclipseColo

2009-06-03 15:31:40

Eclipse插件提高代碼質(zhì)量

2011-03-10 10:32:45

2009-06-10 16:41:51

Links安裝Ecli

2009-09-17 09:44:31

Flex for ec

2011-12-01 09:50:28

2009-06-04 20:45:11

Eclipse插件安裝Eclipse插件使用

2009-06-05 14:36:28

Eclipse插件安裝Eclipse教程

2010-06-09 11:27:46

Eclipse UML

2023-06-12 17:54:50

點贊
收藏

51CTO技術棧公眾號