Kotlin Test-Driven Development

Kotlin has emerged as a popular language for implementing object-oriented solutions for multiple target platform. The importance of testing Kotlin code thoroughly is clear. This course takes a thorough look at how to achieve this by using the Kotest library. You will learn how to write good tests, how to do so in a test-driven manner, and how to make best use of the power and flexibility afforded by the Kotest API.

Course objectives

  • Creating tests using Kotest
  • Using assertions and Kotest matchers
  • Adopting a test-driven approach to development
  • Using stubs and mock objects
  • TDD techniques
  • Kotest techniques

Prerequisites

  • Comfortable with Kotlin programming

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

 

 
 

Getting Started with Testing

  • Setting the scene
  • Writing tests using JUnit 5
  • Writing tests using Kotest
  • Understanding Kotest spec syntax

Unit Testing Essentials

  • Defining unit tests
  • Best practices
  • Testing for exceptions

Kotest Matchers

  • A closer look at standard Kotest matchers
  • Defining custom matchers

Organising Tests

  • Nested tests
  • Isolation modes
  • Lifecycle hooks
  • Additional techniques

Managing Test Execution

  • Ordering tests
  • Tagging tests
  • Test factories

Test-Driven Development

  • Effective test-driven development
  • Refactoring techniques
  • Types of tests
  • Data-driven tests
  • Property-based tests

Test Doubles

  • Making code testable
  • Overview of test doubles
  • Using stubs
  • Using mocks

1. Hva lærer jeg på dette kurset?
Du lærer å skrive robuste, strukturerte og lesbare tester i Kotlin ved hjelp av Kotest. Kurset gir deg en solid forståelse av testdreven utvikling (TDD) og hvordan du kan bruke Kotest sitt kraftige API for å skrive effektive tester. Du lærer blant annet:

  • Å skrive tester med Kotest og JUnit 5
  • Å bruke matchere og assertions i Kotest
  • TDD-teknikker og gode praksiser
  • Å jobbe med stubs, mock-objekter og testdoubles
  • Å organisere tester med nested specs, isolation modes og hooks
  • Å bruke data-drevne tester og property-based testing

2. Hvem passer kurset for?
Kurset passer for:

  • Kotlin-utviklere som ønsker å forbedre kodekvalitet og testpraksis
  • Backend-utviklere som jobber med JVM-økosystemet
  • Team som ønsker å ta i bruk eller styrke TDD
  • Utviklere som ønsker bedre forståelse av Kotest og moderne testverktøy
  • Arkitekter og tekniske ledere som ønsker mer robuste utviklingsprosesser

3. Trenger jeg forkunnskaper?
Ja. Du bør være komfortabel med Kotlin-programmering.
Det kreves ingen tidligere erfaring med Kotest eller TDD, men generell testforståelse er en fordel.

4. Er kurset praktisk?
Ja – kurset er svært hands-on. Deltakerne jobber kontinuerlig med praktiske øvelser for å forsterke:

  • TDD-prosessen
  • Kotest-funksjonalitet
  • Mocking og stubbing
  • Testdesign og refaktorering

5. Hvilke verktøy brukes?
Du jobber primært med:

  • Kotest
  • JUnit 5
  • Kotlin (IDE som IntelliJ anbefales)
  • Eventuelt mocking-rammeverk (som MockK)

6. Får jeg kursbevis?
Ja, alle deltakere mottar kursbevis etter gjennomført kurs.

7. Hvorfor er dette kurset nyttig?
Fordi moderne Kotlin-utvikling krever:

  • Høy kodekvalitet
  • Kort feedback-loop
  • Trygg refaktorering
  • Forutsigelig og stabil funksjonalitet

Kurset gjør deg i stand til å skrive bedre kode raskere – med lavere risiko.

See other courses to explore:

See course areas to explore:

 

 

CI/CD for developers (GitHub Actions, Azure DevOps eller GitLab)
For å sette tester, kvalitet og automatisering i system.

Other relevant courses

3 days
Classroom Virtual
2 days
Classroom