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
invalid input: '{@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 voidTears down mocked Vaadin.protected voidCreate mocked Vaadin core obects, such as session, servlet populated with Routes, UI etc.protected final StringGets 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, initSignalsSupport, lookupServices, navigate, navigate, navigate, navigate, roundTrip, runPendingSignalsTasks, runPendingSignalsTasks, scanTesters, test, testMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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
-
Constructor Details
-
UIUnitTest
public UIUnitTest()
-
-
Method Details
-
initVaadinEnvironment
@BeforeEach protected void initVaadinEnvironment()Description copied from class:BaseUIUnitTestCreate mocked Vaadin core obects, such as session, servlet populated with Routes, UI etc. for testing and find testers for the components.- Overrides:
initVaadinEnvironmentin classBaseUIUnitTest
-
cleanVaadinEnvironment
@AfterEach protected void cleanVaadinEnvironment()Description copied from class:BaseUIUnitTestTears down mocked Vaadin.- Overrides:
cleanVaadinEnvironmentin classBaseUIUnitTest
-
testingEngine
Description copied from class:BaseUIUnitTestGets 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:
testingEnginein classBaseUIUnitTest- Returns:
- name of the Test Engine.
-