Writing JUnit rules in Kotlin (@Rule)
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.
Getting ready
I'll be using Android Studio 3.0 for coding.
How to do it…
In this recipe, we will be using ExpectedException
as the JUnit rule because it helps the test declare that an exception is expected and also provides a way to clearly express the expected behavior. It is much more flexible than using the @Test(expected= ...)
annotation because we can test specific error messages and custom fields.
In the following steps, we will learn how to write JUnit tests:
- Let's first create a simple method that throws...