Rules are a way to add functionalities that apply to all tests of the class. For example, ExternalResource executes the code before and after a test method. This can be used to set up a database, network, and filesystem connection before the test method, and can tear them down when the tests are complete. Of course, you can also do it using the @Before and @After annotations, but doing it with ExternalResource (as a JUnit rule) helps with code reuse.
Writing JUnit rules in Kotlin (@Rule)
Getting ready
I'll be using Android Studio 3.0 for coding.