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
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.
Eco-friendly approach of bio-indigo synthesis and developing purification methods towards isolation of indigo from indirubin and bacterial fragments by Ramalingam Manivannan & Kaliyan Prabakaran & Young-A Son(155371)
Whisky: Malt Whiskies of Scotland (Collins Little Books) by dominic roskrow(74275)
CONSORT 2025 statement: updated guideline for reporting randomized trials by unknow(66079)
Critical evaluation of the ProfiLER-02 study design and outcomes by Vivek Subbiah & Razelle Kurzrock(65827)
Cardiac gene therapy makes a comeback by Oliver J. Müller & Susanne Hille & Anca Kliesow Remes(65265)
Unveiling the design rules for tunable emission in graphene quantum dots: A high-throughput TDDFT and machine learning perspective by Şener Özönder & Mustafa Coşkun Özdemir & Caner Ünlü(50858)
Covalent hitchhikers guide proteins to the nucleus by Alexander F. Russell & Madeline F. Currie & Champak Chatterjee(38897)
A yeast-based oral therapeutic delivers immune checkpoint inhibitors to reduce intestinal tumor burden by unknow(38874)
Meet the Authors: Christopher R. Mansfield and Emily R. Derbyshire by Christopher R. Mansfield & Emily R. Derbyshire(38713)
What's Done in Darkness by Kayla Perrin(27103)
Topological analysis of non-conjugated ethylene oxide cored dendrimers decorated with tetraphenylethylene: Insights from degree-based descriptors using the polynomial approach by A Theertha Nair & D Antony Xavier & Annmaria Baby & S Akhila(26484)
Investigation of mechanical and self-healing properties of hydroxyl-terminated polybutadiene functionalized with 2-ureido-4-pyrimidinone by Mohsen Kazazi & Mehran Hayaty & Ali Mousaviazar(26435)
The Ultimate Python Exercise Book: 700 Practical Exercises for Beginners with Quiz Questions by Copy(21017)
De Souza H. Master the Age of Artificial Intelligences. The Basic Guide...2024 by Unknown(20775)
D:\Jan\FTP\HOL\Work\Alien Breed - Tower Assault CD32 Alien Breed II - The Horror Continues Manual 1.jpg by PDFCreator(20648)
The Fifty Shades Trilogy & Grey by E L James(19605)
Shot Through the Heart: DI Grace Fisher 2 by Isabelle Grey(19487)
Shot Through the Heart by Mercy Celeste(19349)
Wolf & Parchment: New Theory Spice & Wolf, Vol. 10 by Isuna Hasekura and Jyuu Ayakura(17490)