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.
Popular ebooks
Whisky: Malt Whiskies of Scotland (Collins Little Books) by dominic roskrow(56755)
What's Done in Darkness by Kayla Perrin(26787)
The Ultimate Python Exercise Book: 700 Practical Exercises for Beginners with Quiz Questions by Copy(20640)
De Souza H. Master the Age of Artificial Intelligences. The Basic Guide...2024 by Unknown(20431)
D:\Jan\FTP\HOL\Work\Alien Breed - Tower Assault CD32 Alien Breed II - The Horror Continues Manual 1.jpg by PDFCreator(20413)
The Fifty Shades Trilogy & Grey by E L James(19260)
Shot Through the Heart: DI Grace Fisher 2 by Isabelle Grey(19236)
Shot Through the Heart by Mercy Celeste(19100)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 10 by Isuna Hasekura and Jyuu Ayakura(17273)
Python GUI Applications using PyQt5 : The hands-on guide to build apps with Python by Verdugo Leire(17216)
Peren F. Statistics for Business and Economics...Essential Formulas 3ed 2025 by Unknown(17058)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 03 by Isuna Hasekura and Jyuu Ayakura & Jyuu Ayakura(16977)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 01 by Isuna Hasekura and Jyuu Ayakura & Jyuu Ayakura(16603)
The Subtle Art of Not Giving a F*ck by Mark Manson(14576)
The 3rd Cycle of the Betrayed Series Collection: Extremely Controversial Historical Thrillers (Betrayed Series Boxed set) by McCray Carolyn(14297)
Stepbrother Stories 2 - 21 Taboo Story Collection (Brother Sister Stepbrother Stepsister Taboo Pseudo Incest Family Virgin Creampie Pregnant Forced Pregnancy Breeding) by Roxi Harding(13946)
Scorched Earth by Nick Kyme(12936)
Drei Generationen auf dem Jakobsweg by Stein Pia(11130)
Suna by Ziefle Pia(11053)
Scythe by Neal Shusterman(10526)