Pro Kotlin Web Apps from Scratch by 2023

Pro Kotlin Web Apps from Scratch by 2023

Author:2023
Language: eng
Format: epub


Chapter 7 automated tests with junit 5

Making the Test Pass

To make the test pass, you’ll need to implement the getUser function.

You already have all the facilities you need to implement it. You’ve set up Kotliquery to run queries, your test passes a Kotliquery session to getUser, and you have a data class with mapping from table data to the User? type that getUser returns. Listing 7-15

shows how to implement it correctly.

Listing 7-15. A working implementation of getUser

fun getUser(dbSess: Session, id: Long): User? {

return dbSess

.single(

queryOf("SELECT * FROM user_t WHERE id = ?", id),

::mapFromRow

)

?.let(User::fromRow)

}

If you rerun your test, it should run without any assertion errors. You’ve now verified that if you haven’t implemented getUser correctly, the test will fail. And by writing the test first, you made sure that it was easy to invoke getUser without any context other than database state and a Kotliquery session.

Notes on Methodology

You now have everything you need to write and run tests that execute your business logic code and assert that they yielded the expected and required outputs. For the remainder of this chapter, you’ll learn more about the methodologies of testing and the thoughts behind why you’re doing what you’re doing.

What About Front-End Tests?

I’m not covering the world of JavaScript and front-end development in any depth in

this book.

137



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.