11 Replies Latest reply on May 11, 2013 2:40 AM by oranheim

    Arquillian and GWT

    csa

      Hi everyone,

       

      At the developer conference in Brno back in February we have discussed possible use cases for an Arquillan GWT extension. The main use cases we came up with were:

       

      1. Mixing GWT client-side and standard in-container tests in the same test class. So basically making sure only a subset of the test methods gets compiled to JavaScript.

      2. Making the GWT integration tests use an Arquillian managed container instead of the built-in (embedded) Jetty.

       

      I am happy to announce that I found a way to make these use cases work now.

       

      Here's an example test mixing a client-side GWT test and a standard in-container test in the same test class:

      [https://github.com/csadilek/arquillian-extension-gwt/blob/master/src/test/java/org/jboss/arquillian/gwt/client/test/GreeterTest.java]

       

      Here's a similiar example test involving a GWT RPC to a managed container (e.g. JBoss AS 7):

      [https://github.com/csadilek/arquillian-extension-gwt/blob/master/src/test/java/org/jboss/arquillian/gwt/client/test/GreeterRpcTest.java]

       

      This is only a working prototype right now and I need more feedback and help to continue. To make this work I had to change a lot of GWT internals e.g. I needed to customize the GWT JDTCompiler to ignore @Deployment methods since they won't translate to JS :). Ideally, I'd like to see the method exclusion feature in the upstream GWT compiler together with other changes I had to make but I still need to formalize and abstract this features more before I can suggest them.

       

      If you're interested, please play around with it and let us know what you think.

       

      Cheers,

      Christian