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

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

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.

 

 

 

Download Modern Java EE Design Patterns: Building Scalable Architecture for Sustainable Enterprise Development.  Brought to you in partnership with Red Hat

Topics:

Published at DZone with permission of Nicolas Frankel, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

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

{{ parent.tldr }}

{{ parent.urlSource.name }}