Testing Overview
Litho provides a variety of tools for automated testing. This page aims to give a brief overview of the different concepts and show you where to go to learn more.
Unit Testing
Litho provides a suite of helpers to make unit testing easier. Learn about the setup with our JUnit Rules and AssertJ helpers in Unit Testing Basics.
Sub-Component Testing
A common way to test components is by looking at the tree they generate and make assertions over its children. Sub-Component Matching lays out the concepts and APIs for writing declarative matchers against your component trees.
Matching Props
Once you know how to test for sub-components, you can learn about more advanced techniques for verifying props on them in the Matching Props guide.
Matching InjectProps
Litho provides a pluggable mechanism for dependency injection. This tutorial
shows you how to test props which were injected via @InjectProp
.
Testing Event Handlers
Event handlers are just like any other prop you would set on your component. That means you can use the mechanisms you've learned before with Sub-Component Testing. Find an example on how to use this in the Event Handler Testing guide.
Sections
For testing Sections, we have a few helpers, including
SectionComponentTestHelper
and SubSection
which are explained in detail
under Unit Testing Sections.
End-to-End Testing
We offer an optional package for writing end-to-end tests with Espresso. Learn more in the Espresso section.
Android Studio
Lastly, if you want to run unit tests in Android Studio, you currently have to jump through some hoops as loading native code is not well supported by the IDE. Follow the guide to get set up.