岑巩网站建设,网站建设 中小企业,一级 做爰免费网站,无锡建行网站原文地址#xff1a;http://www.cnblogs.com/liuzhuo/archive/2010/08/17/eclipse_plugin_1_1_2.html 1. 使用JUnit对插件进行测试 Eclipse中已经嵌入了JUnit#xff0c;我们可以使用JUnit为插件进行单体测试。一般的JUnit是不可以对插件部分(对Eclipse的API依赖的部分)进行测… 原文地址http://www.cnblogs.com/liuzhuo/archive/2010/08/17/eclipse_plugin_1_1_2.html 1. 使用JUnit对插件进行测试 Eclipse中已经嵌入了JUnit我们可以使用JUnit为插件进行单体测试。一般的JUnit是不可以对插件部分(对Eclipse的API依赖的部分)进行测试的但是在PDE环境中使利用JUnit对插件进行单元测试成为可能。 要想进行测试首先要添加插件的依赖关系在插件设定页面的[依赖关系(Dependencies)]页面点击[增加(Add)]按钮添加[org.junit(3.8.2)]作为必须插件(图3-1)。 图3-1 增加org.junit插件的依赖关系 接下来生成测试用例(TestCase)。测试用例和一般的JUnit用例相同继承junit.framework.TestCase。代码1中的测试用例说明了在工作台页面中打开一个视图并且确认打开的视图处于激活状态。 代码1 插件测试用例的示例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public class SampleViewTest extends TestCase { public SampleViewTest(String name) throws Exception { //取得当前活动的页面 IWorkbench workbench PlatformUI.getWorkbench(); IWorkbenchWindow window workbench.getActiveWorkbenchWindow(); IWorkbenchPage page window.getActivePage(); //打开视图 page.showView(cn.sf.amateras.sample.views.SampleView); //确认打开的视图处于激活状态 IWorkbenchPart activePart page.getActivePart(); assertTrue(activePart instanceof IViewPart); assertEquals(cn.sf.amateras.sample.views.SampleView, activePart.getSite().getId()); } } 当前这个测试用例可以通过在测试类上点右键[执行(Run As)]-[JUnit插件测试(JUnit Plug-in Test)]执行。 图3-2 执行JUnit插件测试 2. 调试和错误处理 调试插件 用调试模式启动运行时工作台后像一般的java程序一样在程序中设置断点就可以了。调试模式的启动可以从manifest编辑器的概要页面点击[调试 Eclipse应用(Lunach an Eclipse Application in Debug mode)]或者点击工具栏上的调试按钮。 在错误发生时需要做以下两件事 1通知使用者 2记录日志 输出日志 向Eclipse下的[.metadata]文件夹的[/.log]文件进行日志输出。输出日志时使用org.eclipse.core.runtime.ILog接口通过插件类获得ILog接口的实例。如代码2所示 代码2 输出日志 ? 1 2 3 4 5 6 7 ILog log Activator.getDefault().getLog(); log.log(new Status(IStatus.OK, Activator.PLUGIN_ID, 0, 正常消息, null)); log.log(new Status(IStatus.OK, Activator.PLUGIN_ID, 0, 异常消息, new Exception(输出日志的异常))); Status对象的构造函数的参数如表1所示。 表1 Status的构造参数 参数 说明int severty重要度。候选值有IStatus.OK、IStatus.ERROR、IStatus.INFO、IStatus.WARNING、IStatus.CANCEL。String pluginId插件的IDint code插件固定的消息code或者是IStatus.OK。String message输出日志的消息。Throwable exception输出日志的异常。没有时候添null。 错误通知 错误发生后通知使用者的方法有很多最简单的方法就是使用JFace的org.eclipse.jface.dialogs.ErrorDialog类。 代码3 使用ErrorDialog ? 1 2 3 4 5 6 7 try{ //.... }catch(Exception e){ IStatus status new Status(IStatus.ERROR, Activator.PLUGIN_ID, 0, e.toString(), e); ErrorDialog.openError(window.getShell(), 错误, 插件出错了, status); } 运行时工作台启动时的参数 Eclipse是由很多的插件构成的在其背后运行着非常复杂的处理所以也需要相应的内存。特别是很多的插件在加载庞大的类时就很容易出现VM常驻(permanent)区域的不足的情况。 通常Eclipse使用的堆Heap区和常驻区的大小可以通过Eclipse安装目录下的eclipse.ini文件进行设定。 代码4 默认的eclipse.ini文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion1.5 -Xms40m -Xmx512m 在插件开发过程中如果出现内存空间不足的时候也可以通过[运行(Run)]-[运行设定(Run Configurations)]窗口的[参数]tab页中的[VM参数]项来指定空间的大小。 图3-3 VM参数设定 转载于:https://www.cnblogs.com/wlzjdm/p/6882134.html