Package com.vaadin.testbench.unit
Class UIUnitTest
java.lang.Object
com.vaadin.testbench.unit.BaseUIUnitTest
com.vaadin.testbench.unit.UIUnitTest
- All Implemented Interfaces:
TesterWrappers
- Direct Known Subclasses:
SpringUIUnitTest
Base JUnit 5 class for UI unit tests.
The class automatically scans classpath for routes and error views.
Subclasses should typically restrict classpath scanning to a specific
packages for faster bootstrap, by using
ViewPackages
annotation. If
the annotation is not present a full classpath scan is performed
{@code @ViewPackages(classes = {CartView.class, CheckoutView.class}) class CartViewTest extends UIUnitTest { } @ViewPackages(packages = {"com.example.shop.cart", "com.example.security"}) class CartViewTest extends UIUnitTest { } @ViewPackages( classes = {CartView.class, CheckoutView.class}, packages = {"com.example.security"} ) class CartViewTest extends UIUnitTest { } </pre> Set up of Vaadin environment is performed before each test by {@link #initVaadinEnvironment()} method, and will be executed before {@code @BeforeEach} methods defined in subclasses. At the same way, cleanup tasks operated by {@link #cleanVaadinEnvironment()} are executed after each test, and after all {@code @AfterEach} annotated methods in subclasses. Usually, it is not necessary to override {@link #initVaadinEnvironment()} or {@link #cleanVaadinEnvironment()} methods, but if this is done it is mandatory to add the {@code @BeforeEach} and {@code @AfterEach} annotations in the subclass, in order to have hooks handled by testing framework. A use case for overriding {@link #initVaadinEnvironment()} is to provide custom Flow service implementations supported by {@link com.vaadin.flow.di.Lookup} SPI. Implementations can be provided overriding {@link #initVaadinEnvironment()} and passing to super implementation the service classes that should be initialized during setup. <pre> {@code @BeforeEach @Override void initVaadinEnvironment() { super.initVaadinEnvironment(CustomInstantiatorFactory.class); } } </pre> <p/> To get a graphical ascii representation of the UI tree on failure add the annotation {@code @ExtendWith(TreeOnFailureExtension.class)} to the test class. @see ViewPackages
-
Field Summary
Fields inherited from class com.vaadin.testbench.unit.BaseUIUnitTest
scanned, testers
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Tears down mocked Vaadin.protected void
Create mocked Vaadin core obects, such as session, servlet populated with Routes, UI etc.protected final String
Gets the name of the Test Engine that is able to run the base class implementation.Methods inherited from class com.vaadin.testbench.unit.BaseUIUnitTest
$, $, $view, discoverRoutes, discoverRoutes, fireShortcut, getCurrentView, lookupServices, navigate, navigate, navigate, navigate, roundTrip, scanTesters, test, test
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.vaadin.testbench.unit.TesterWrappers
test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test, test
-
Constructor Details
-
UIUnitTest
public UIUnitTest()
-
-
Method Details
-
initVaadinEnvironment
@BeforeEach protected void initVaadinEnvironment()Description copied from class:BaseUIUnitTest
Create mocked Vaadin core obects, such as session, servlet populated with Routes, UI etc. for testing and find testers for the components.- Overrides:
initVaadinEnvironment
in classBaseUIUnitTest
-
cleanVaadinEnvironment
@AfterEach protected void cleanVaadinEnvironment()Description copied from class:BaseUIUnitTest
Tears down mocked Vaadin.- Overrides:
cleanVaadinEnvironment
in classBaseUIUnitTest
-
testingEngine
Description copied from class:BaseUIUnitTest
Gets the name of the Test Engine that is able to run the base class implementation. The Test Engine name is reported in the exception thrown when the Vaadin environment is not set up correctly.- Specified by:
testingEngine
in classBaseUIUnitTest
- Returns:
- name of the Test Engine.
-