Skip to content

GWT Testing Roadmap

mojavelinux edited this page Mar 8, 2012 · 2 revisions

We've identified 3 current ways of testing GWT/Errai apps (as described by Christian):

  • plain JUnit
  • GWTTestCase
  • for integration-test and for UI components
  • asynchronous testing support
  • using HTMLUnit internally
  • two modes:
  • dev mode
  • production mode (pure JS) (-Dgwt.args="-prod")
  • remote testing
  • Manual (-runStyle Manual:1)
  • Selenium (Selenium RC) or WebDriver
  • UI testing
  • textAreaWidget.ensureDebugId("myTextAreaId")
  • inherit debug model

demoed CDI tests, dev mode running in jetty

Ideas

Replacing GWT/jetty

  • GWT currently uses jetty for testing
  • integration with the Arquillian Containers will allow integration testing with any supported container

Micro-deployments

  • missing piece in GWT tests is micro-deployment testing
  • GWT compiler could be forced to compile only portion of UI logic which could be tested in separation
  • decreasing time needed to compile deployment
  • allowing test units in separation

GWT client injection to the page

  • Selenium lacks JavaScript bindings, all scripts needs to be provided as plain/text
  • GWT Development Mode could be used as Java-to-JavaScript gateway and help test complex scenarios
  • especially useful for testing complex API interactions (like HTML5 web-storage)
  • API proposal: https://gist.github.com/1892612

Unsorted thoughts

  • removing dependency on HtmlUnit - not real JS implementation

White-boards

white-board

micro-deployments

API proposal