Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Testing with Embed for Vaadin

DZone's Guide to

Testing with Embed for Vaadin

· Java Zone ·
Free Resource

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

In order to execute integration tests of a web application, there are not so many tools available. One of such tools is JBoss Arquilian: it let you create an archive of your to-be-tested Java classes. Embed Vaadin does the same, but is specifically targeted at Vaadin applications and components!

Just select the component you want to test, and presto, it's wrapped in a dummy application and launched in an embedded Tomcat:

EmbedVaadin.forComponent(new FormAdvancedLayoutExample()).wait(false).start();

If you need to go beyond that and test the full application, that's also possible. The library takes care of instantiating the application class and all the underlying gory details.

EmbedVaadin.forApplication(EmbedApplication.class).wait(false).start();

Of course, there are configuration parameters. For example, you can choose the HTTP port (in order to avoid port conflict) and to launch a browser window. Presto, your integration test is ready to run!

EmbedVaadin.forApplication(EmbedApplication.class).withHttpPort(8888).wait(true).openBrowser(true).start();

For Maven users, the good news is that the add-on is readily provided as a Maven dependency:

<dependency>
    <groupId>com.bsb.common.vaadin</groupId>
    <artifactId>com.bsb.common.vaadin.embed</artifactId>
    <version>0.1</version>
    <scope>test</scope>
</dependency>

For those wishing to go further, a full-fledged example is available on Github.

Note that Embed Vaadin is available under the friendly Apache 2.0 license.

 

 

 

Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}