I recall getting this error aswell. The exception "Caused by: java.lang.ClassNotFoundException:com.google.gwt.core.client.GWTBridge" is thrown if you try to invoke
GWTMockUtilities.disarm(); GWTMockUtilities.restore(); without having gwt-dev.jar in your classpath. On 19 Aug, 17:52, Davis Ford <[email protected]> wrote: > Alejandro -- when you tried it, did you not get: > > Caused by: > java.lang.ClassNotFoundException:com.google.gwt.core.client.GWTBridge > > If so, what GWT version are you using? > > > > > > On Wed, Aug 19, 2009 at 11:33 AM, Alejandro D. Garin<[email protected]> wrote: > > yes david, that seems to work. Personally I still prefer to use interfaces > > in the view rather than using Widgets. > > > Cheers, > > > On Wed, Aug 19, 2009 at 12:24 PM, davis <[email protected]> > > wrote: > > >> Here you go...try it with this: > > >>http://code.google.com/p/google-web-toolkit/source/browse/releases/1.... > > >> import static org.easymock.classextension.EasyMock.createMock; > >> import static org.junit.Assert.assertNotNull; > > >> import org.junit.After; > >> import org.junit.Before; > >> import org.junit.Test; > > >> import com.google.gwt.junit.GWTMockUtilities; > >> import com.google.gwt.user.client.ui.TextBox; > > >> public class TestSomething { > > >> �...@before > >> public void setUp() throws Exception { > >> GWTMockUtilities.disarm(); > >> } > > >> �...@after > >> public void tearDown() throws Exception { > >> GWTMockUtilities.restore(); > >> } > > >> �...@test > >> public void testThatEasyMockWorksWithTextBox() { > >> TextBox box = createMock(TextBox.class); > >> assertNotNull(box); > >> } > >> } > > >> On Aug 19, 11:19 am, davis <[email protected]> wrote: > >> > Probably stems from the constructor doing this: > > >> > /** > >> > * Creates an empty text box. > >> > */ > >> > public TextBox() { > >> > this(Document.get().createTextInputElement(), "gwt-TextBox"); > >> > } > > >> >http://code.google.com/p/google-web-toolkit/source/browse/releases/1.... > > >> > Anyone have a mock workaround for ui elements they'd like to share? > >> > Is there a mock framework out there for GWT ui elements? > > >> > On Aug 19, 11:14 am, davis <[email protected]> wrote: > > >> > > My fault -- I thought you were talking about something else. It > >> > > appears you are correct. It looks like even easy mock class extension > >> > > can't do it. Somewhere in the initialization code of TextBox.class it > >> > > calls GWT.create()...major bummer. > > >> > > On Aug 19, 10:59 am, "Alejandro D. Garin" <[email protected]> wrote: > > >> > > > Hi David, > > >> > > > I tried your example, but I have this error: > > >> > > > Caused by: java.lang.UnsupportedOperationException: ERROR: > >> > > > GWT.create() is > >> > > > only usable in client code! It cannot be called, for example, from > >> > > > server > >> > > > code. If you are running a unit test, check that your test case > >> > > > extends > >> > > > GWTTestCase and that GWT.create() is not called from within an > >> > > > initializer > >> > > > or constructor. > > >> > > > Stacktrace: > > >> > > > java.lang.ExceptionInInitializerError > >> > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> > > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > >> > > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > >> > > > Source) > >> > > > at java.lang.reflect.Method.invoke(Unknown Source) > >> > > > at > >> > > > net.sf.cglib.proxy.Enhancer.setCallbacksHelper(Enhancer.java:619) > >> > > > at > >> > > > net.sf.cglib.proxy.Enhancer.setThreadCallbacks(Enhancer.java:612) > >> > > > at > >> > > > net.sf.cglib.proxy.Enhancer.registerCallbacks(Enhancer.java:581) > >> > > > at > > >> > > > org.easymock.classextension.internal.ClassProxyFactory.createProxy(ClassPro > >> > > > xyFactory.java:108) > >> > > > at > >> > > > org.easymock.internal.MocksControl.createMock(MocksControl.java:51) > >> > > > at > >> > > > org.easymock.classextension.EasyMock.createMock(EasyMock.java:46) > >> > > > at > >> > > > example.publico.client.SimpleTest.testSimple(SimpleTest.java:10) > >> > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > >> > > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > >> > > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > >> > > > Source) > >> > > > at java.lang.reflect.Method.invoke(Unknown Source) > >> > > > at junit.framework.TestCase.runTest(TestCase.java:168) > >> > > > at junit.framework.TestCase.runBare(TestCase.java:134) > >> > > > at junit.framework.TestResult$1.protect(TestResult.java:110) > >> > > > at junit.framework.TestResult.runProtected(TestResult.java:128) > >> > > > at junit.framework.TestResult.run(TestResult.java:113) > >> > > > at junit.framework.TestCase.run(TestCase.java:124) > >> > > > at junit.framework.TestSuite.runTest(TestSuite.java:232) > >> > > > at junit.framework.TestSuite.run(TestSuite.java:227) > >> > > > at > > >> > > > org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:7 > >> > > > 6) > >> > > > at > > >> > > > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe > >> > > > ference.java:45) > >> > > > at > > >> > > > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java: > >> > > > 38) > >> > > > at > > >> > > > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR > >> > > > unner.java:460) > >> > > > at > > >> > > > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR > >> > > > unner.java:673) > >> > > > at > > >> > > > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner > >> > > > .java:386) > >> > > > at > > >> > > > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne > >> > > > r.java:196) > >> > > > Caused by: java.lang.UnsupportedOperationException: ERROR: > >> > > > GWT.create() is > >> > > > only usable in client code! It cannot be called, for example, from > >> > > > server > >> > > > code. If you are running a unit test, check that your test case > >> > > > extends > >> > > > GWTTestCase and that GWT.create() is not called from within an > >> > > > initializer > >> > > > or constructor. > >> > > > at com.google.gwt.core.client.GWT.create(GWT.java:85) > >> > > > at > >> > > > com.google.gwt.user.client.ui.UIObject.<clinit>(UIObject.java:140) > >> > > > ... 30 more > > >> > > > On Wed, Aug 19, 2009 at 11:09 AM, davis > >> > > > <[email protected]>wrote: > > >> > > > > > If your view interface return a TextBox you can't test the > >> > > > > > presenter with > >> > > > > > JUnit, you will need to use GWTTestCase. > > >> > > > > Sure you can: > > >> > > > > import static org.easymock.classextension.EasyMock.*; > >> > > > > import com.google.gwt.user.client.ui.TextBox; > > >> > > > > public class SomePresenterTestCase { > > >> > > > > private MyPresenter presenter; > >> > > > > private MyView view; > > >> > > > > @Test > >> > > > > public void testSomething() { > >> > > > > TextBox mockBox = createMock(TextBox.class); > >> > > > > MyView mockView = createMock(MyView.class); > >> > > > > presenter = new MyPresenter(mockView); > >> > > > > expect(mockView.getSomeTextBox()).andReturn(mockBox); > >> > > > > replay(mockView); > >> > > > > replay(mockBox); > >> > > > > TextBox box = presenter.getDisplay().getSomeTextBox(); > >> > > > > verify(mockView); > >> > > > > } > >> > > > > } > > -- > Zeno Consulting, Inc. > home:http://www.zenoconsulting.biz > blog:http://zenoconsulting.wikidot.com > p: 248.894.4922 > f: 313.884.2977 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en -~----------~----~----~----~------~----~------~--~---
