Proper way to test VAADIN applications?

Hi all,

what do you think is a proper way to test VAADIN applications?
We do have some JUnit tests and some Selenium tests, but I’m not completely happy with this.
The Selenium tests are hard to maintain, and with the Unit tests it is very dificult to test a complete view, because services and presenters usually are mocked.

Do you have any ideas? How are you doing testing?

Typically tests are done in several levels and are quite similar to the tests of any other web application.

In the lowest level of a UI tests we have Junit tests of UI’s presenters and views. These are typically done by mocking as you already stated. These test should be done automatically by your build system such as Jenkins.

For the browser test, we typically use our own TestBench (https://vaadin.com/directory#addon/vaadin-testbench:vaadin) product instead of Selenium. TestBench tests should be more convienent to maintain than Selenium tests.

In some projects we also have behavior driven tests (http://java.dzone.com/articles/brief-comparison-bdd). For example with JBehave + TestBench combo.