title: How to run JUnit Eclipse Plugin tests with JMock?
body: <p>I have Eclipse plug-in and junit tests for it, which are using jMock library.</p>
  
  <p>When I run my test 'as junit', all tests are running correctly. But when I run them 'as JUnit plugin test' I'm getting the following error:</p>
  
  <pre><code>java.lang.TypeNotPresentException: Type [unknown] not present
  at sun.reflect.annotation.TypeNotPresentExceptionProxy.generateException(TypeNotPresentExceptionProxy.java:27)
  at sun.reflect.annotation.AnnotationInvocationHandler.invoke(AnnotationInvocationHandler.java:56)
  at $Proxy4.value(Unknown Source)
  at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
  at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
  at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
  at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
  at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
  at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.&lt;init&gt;(JUnit4TestReference.java:29)
  at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.&lt;init&gt;(JUnit4TestClassReference.java:25)
  at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)
  at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
  at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62)
  at org.eclipse.pde.internal.junit.runtime.UITestApplication$1.run(UITestApplication.java:114)
  at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
  at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
  at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3468)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3115)
  at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
  at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
  at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
  at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
  at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
  at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
  at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
  at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
  at org.eclipse.pde.internal.junit.runtime.UITestApplication.start(UITestApplication.java:46)
  at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
  at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
  at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
  at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
  at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
  at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
  Caused by: java.lang.NoClassDefFoundError: org/junit/internal/runners/JUnit4ClassRunner
  at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
  at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
  at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:183)
  at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:576)
  at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:546)
  at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:477)
  at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:465)
  at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:445)
  at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:211)
  at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:376)
  at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:449)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
  at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:247)
  at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
  at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
  at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
  at sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:370)
  at sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:351)
  at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:280)
  at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
  at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
  at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
  at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
  at java.lang.Class.getAnnotation(Class.java:3029)
  at org.junit.internal.builders.IgnoredBuilder.runnerForClass(IgnoredBuilder.java:13)
  ... 39 more
  Caused by: java.lang.ClassNotFoundException: org.junit.internal.runners.JUnit4ClassRunner
  at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:405)
  at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:393)
  at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
  ... 70 more
  </code></pre>
  
  <p>How to fix this?
  Appreciate any help.</p>