Kurs i JUnit Enhetstester

Kurs i att skriva enhetstester med Java JUnit

Enhetstestning (unit testing) är idag en förutsättning för att upprätthålla hög programkods-kvalitet. Du får lära dig om JUnit version 5, AssertJ assertions, hur man använder mock-objects och mycket mera under denna fullmatade kursdag.

Denna kurs vänder sig till Java utvecklare som ska börja eller precis börjat i ett Java projekt som använder sig av enhetstestning med JUnit och önskar snabbt bli produktiv.

Detta får du lära dig
  • Principerna för enhetstestning
  • Principerna för test-driven-development (TDD)
  • JUnit version 5
  • Test method annoteringar
  • Assertions och matchers
  • Använding av AssertJ assertions
  • Repeterade test
  • Parametriserade test
  • Parallel exekvering av test
  • Dynamiskt genererade test
  • Villkorligt utförada test
  • Principen för mock objects och användning av Mockito
  • JUnit med bygg verktyg som Maven och Gradle
  • Andra ramverk baserade på JUnit
Kursinnehåll

Unit Testing and Test-Driven Development

  • Background of JUnit
  • What is a unit test
  • What is an integration test
  • What other form of tests are there
  • What is TDD (Test-Driven Development)
  • Installation of JUnit

Basic JUnit Usage

  • Installation of JUnit
  • Test methods
  • Test method annotations
  • Using test assertions
  • Using display names
  • Running inside IntelliJ (or your favorite IDE)
  • Compiling and running tests from the command-line

Assertions

  • Assertions overview
  • Optional messages
  • Checking for equality of primitive types
  • Checking for equality of objects
  • Checking for equality of iterables
  • Checking for matching lines
  • Checking for thrown exceptions
  • Checking for time-limited execution
  • Grouped assertions
  • Assertion guards
  • Direct failure

Life-Cycle Methods

  • Loading test data files
  • BeforeEach / AfterEach annotations
  • BeforeAll / AfterAll annotations
  • Nested test classes

Conditonal Test Execution

  • Assumptions
  • Enable/disable test based on OS
  • Enable/disable test based on JRE version
  • Enable/disable test based on JVM system property value
  • Enable/disable test based on OS environment varíable value
  • Enable/disable test based on result of JavaScript expression

Build Tool Support

  • Application builds
  • Build tool evolution
  • What is a dependency
  • What is an artefact repository
  • How to find 3rd party libraries
  • What is transitive dependency
  • Source code organization of a project directory
  • What is Maven
  • Sample POM
  • Maven commands
  • Maven build phases
  • How to run tests in Maven
  • Maven test results report
  • What is Gradle
  • Dependencies in Gradle
  • Sample Gradle build file
  • The Gradle wrapper
  • Gradle test support
  • How to run tests in Gradle
  • Gradle test results report

Using Assertion Libraries

  • What is an assertion library
  • What is Hamcrest
  • What is AssertJ
  • Instalaltion of AssertJ
  • Usage of AssertJ

Mock Objects

  • What is a mock object and why you want to use it
  • Overview of some mock-objects libraries
  • Using Mockito
  • Creating mock objects
  • Setting up the expected behaviour of the test's surrounding
  • Verifying the outcome
  • Argument matchers
  • Mock annotation

Test Variants

  • JUnit 5 configuration
  • Parallel test method execution
  • Repeated tests
  • Parameterized tests
  • Parameterized based on simple values
  • Parameterized based on enum values
  • Parameterized based on values factory method
  • Parameterized based on CSV values
  • Dynamically generated tests

Other Testing Frameworks

  • TestNG
  • Spock
SnabbFakta
NamnJUnit Enhetstester
Längd1 Dagar
NivåIntermediate
MålgruppJava programmerare
FörkunskaperPraktiska kunskaper i Java programmering
Verktyg
  • Java JDK, version 10+
  • JetBrains IntelliJ IDEA
KursDatum
DatumPlatsPris
2020-02-14Stockholm11 000 kr
2020-03-06Stockholm11 000 kr
2020-03-27 Stockholm11 000 kr
2020-04-17Stockholm 11 000 kr
2020-05-08Stockholm 11 000 kr
2020-05-28Stockholm 11 000 kr

Samma-Företags Rabatt

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle. Läs mer här.

Undervisningsspråk

Vårt tryckta kursmaterial är alltid författat på engelska. Den muntliga presentationen i våra klassrum är som regel på svenska, såvida inte samtliga deltagare samtycker till att vi genomför kursen på engelska.

Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Läs mer om vår prismodell och beställningsvillkor här.

Relaterade Kurser
KursDagarNivå
Java Programmering5BeginnerVisa
Java Programmering Fördjupning3IntermediateVisa