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(55895)
What's Done in Darkness by Kayla Perrin(26510)
Shot Through the Heart: DI Grace Fisher 2 by Isabelle Grey(18996)
The Fifty Shades Trilogy & Grey by E L James(18946)
Shot Through the Heart by Mercy Celeste(18873)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 10 by Isuna Hasekura and Jyuu Ayakura(16969)
Python GUI Applications using PyQt5 : The hands-on guide to build apps with Python by Verdugo Leire(16862)
Peren F. Statistics for Business and Economics...Essential Formulas 3ed 2025 by Unknown(16793)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 03 by Isuna Hasekura and Jyuu Ayakura & Jyuu Ayakura(16686)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 01 by Isuna Hasekura and Jyuu Ayakura & Jyuu Ayakura(16310)
The Subtle Art of Not Giving a F*ck by Mark Manson(14244)
The 3rd Cycle of the Betrayed Series Collection: Extremely Controversial Historical Thrillers (Betrayed Series Boxed set) by McCray Carolyn(14062)
Stepbrother Stories 2 - 21 Taboo Story Collection (Brother Sister Stepbrother Stepsister Taboo Pseudo Incest Family Virgin Creampie Pregnant Forced Pregnancy Breeding) by Roxi Harding(13408)
Scorched Earth by Nick Kyme(12704)
Drei Generationen auf dem Jakobsweg by Stein Pia(10909)
Suna by Ziefle Pia(10838)
Scythe by Neal Shusterman(10260)
International Relations from the Global South; Worlds of Difference; First Edition by Arlene B. Tickner & Karen Smith(9468)
Successful Proposal Strategies for Small Businesses: Using Knowledge Management ot Win Govenment, Private Sector, and International Contracts 3rd Edition by Robert Frey(9308)
This is Going to Hurt by Adam Kay(9085)