Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Modulær Testing med JUnit | Testing av Backend-Applikasjoner
Spring Boot Backend

bookModulær Testing med JUnit

Da vi gikk gjennom applikasjonens arkitektur, hoppet vi over test-mappen, som var ment for tester. Nå skal vi se nærmere på hvordan man skriver disse testene og hva som kreves for å gjøre dette.

Grunnleggende konsepter

For testing skal vi bruke JUnit-biblioteket. Dette er et av de mest populære rammeverkene for enhetstesting i Java-applikasjoner. Det er enkelt å bruke og integrere, spesielt med Spring Boot.

For å bruke JUnit må vi legge til en avhengighet i vår pom.xml-fil.

Nå er vi klare til å skrive vår første test i applikasjonen!

Skrive test

Nå skal vi skrive en test som ikke er direkte relatert til applikasjonen vår, men som vil hjelpe deg å forstå konseptet med testing.

I Spring Boot er tester vanligvis plassert i src/test/java-mappen, som automatisk opprettes når du initialiserer prosjektet. Her kan vi opprette testen vår.

La oss opprette en klasse kalt SimpleTest, og inni den kan vi opprette en testmetode kalt testSum().

SimpleTest.

SimpleTest.

copy
123456789101112
public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }

@Test-annotasjonen i JUnit indikerer at metoden er en test og skal utføres under testprosessen.

Inne i testen brukes en påstand: assertEquals(4, result), som kontrollerer at beregningsresultatet samsvarer med forventet verdi. Hvis result ikke oppfyller forventningene, vil testen bli ansett som mislykket, noe som signaliserer et problem i programmets logikk.

Ved å kjøre testen kan vi se at den har blitt bestått!

Regler for å skrive tester

I enhetstester er det viktig å følge et tydelig og strukturert navnesystem for klasser og metoder slik at tester blir lesbare og enkle å vedlikeholde.

Klassenavn

Navnetklassen som testes bør inkludere suffikset Test. For eksempel, hvis vi tester en klasse med navnet BookController, vil den tilhørende testklassen hete BookControllerTest.

Metodenavn

Testmetodenavn bør være beskrivende, slik at alle som leser dem forstår hva som testes. Et godt navnesystem inkluderer: (Hva som testes) _ (Under hvilke betingelser) _ (Forventet resultat).

testCreateUser_whenInputIsValid_shouldReturnCreatedUser

I dette testnavnet indikerer testCreateUser at prosessen med å opprette en bruker blir testet. Neste del, whenInputIsValid, beskriver betingelsene testen kjøres under — spesifikt når brukerinndata er gyldig. Til slutt spesifiserer shouldReturnCreatedUser det forventede utfalletmetoden skal returnere den opprettede brukeren.

Sammendrag

Enhetstesting med JUnit gjør det mulig å verifisere riktigheten til individuelle deler av en applikasjon i isolasjon, noe som sikrer høy kodekvalitet og systemets stabilitet ved endringer.

JUnit tilbyr praktiske verktøy for skriving, kjøring og organisering av tester, og er det primære valget for testing av Java-applikasjoner, inkludert Spring Boot.

1. Hva gjør annotasjonen @Test i JUnit?

2. Hvilken navnekonvensjon bør brukes for testklasser i JUnit?

question mark

Hva gjør annotasjonen @Test i JUnit?

Select the correct answer

question mark

Hvilken navnekonvensjon bør brukes for testklasser i JUnit?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 3.45

bookModulær Testing med JUnit

Sveip for å vise menyen

Da vi gikk gjennom applikasjonens arkitektur, hoppet vi over test-mappen, som var ment for tester. Nå skal vi se nærmere på hvordan man skriver disse testene og hva som kreves for å gjøre dette.

Grunnleggende konsepter

For testing skal vi bruke JUnit-biblioteket. Dette er et av de mest populære rammeverkene for enhetstesting i Java-applikasjoner. Det er enkelt å bruke og integrere, spesielt med Spring Boot.

For å bruke JUnit må vi legge til en avhengighet i vår pom.xml-fil.

Nå er vi klare til å skrive vår første test i applikasjonen!

Skrive test

Nå skal vi skrive en test som ikke er direkte relatert til applikasjonen vår, men som vil hjelpe deg å forstå konseptet med testing.

I Spring Boot er tester vanligvis plassert i src/test/java-mappen, som automatisk opprettes når du initialiserer prosjektet. Her kan vi opprette testen vår.

La oss opprette en klasse kalt SimpleTest, og inni den kan vi opprette en testmetode kalt testSum().

SimpleTest.

SimpleTest.

copy
123456789101112
public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }

@Test-annotasjonen i JUnit indikerer at metoden er en test og skal utføres under testprosessen.

Inne i testen brukes en påstand: assertEquals(4, result), som kontrollerer at beregningsresultatet samsvarer med forventet verdi. Hvis result ikke oppfyller forventningene, vil testen bli ansett som mislykket, noe som signaliserer et problem i programmets logikk.

Ved å kjøre testen kan vi se at den har blitt bestått!

Regler for å skrive tester

I enhetstester er det viktig å følge et tydelig og strukturert navnesystem for klasser og metoder slik at tester blir lesbare og enkle å vedlikeholde.

Klassenavn

Navnetklassen som testes bør inkludere suffikset Test. For eksempel, hvis vi tester en klasse med navnet BookController, vil den tilhørende testklassen hete BookControllerTest.

Metodenavn

Testmetodenavn bør være beskrivende, slik at alle som leser dem forstår hva som testes. Et godt navnesystem inkluderer: (Hva som testes) _ (Under hvilke betingelser) _ (Forventet resultat).

testCreateUser_whenInputIsValid_shouldReturnCreatedUser

I dette testnavnet indikerer testCreateUser at prosessen med å opprette en bruker blir testet. Neste del, whenInputIsValid, beskriver betingelsene testen kjøres under — spesifikt når brukerinndata er gyldig. Til slutt spesifiserer shouldReturnCreatedUser det forventede utfalletmetoden skal returnere den opprettede brukeren.

Sammendrag

Enhetstesting med JUnit gjør det mulig å verifisere riktigheten til individuelle deler av en applikasjon i isolasjon, noe som sikrer høy kodekvalitet og systemets stabilitet ved endringer.

JUnit tilbyr praktiske verktøy for skriving, kjøring og organisering av tester, og er det primære valget for testing av Java-applikasjoner, inkludert Spring Boot.

1. Hva gjør annotasjonen @Test i JUnit?

2. Hvilken navnekonvensjon bør brukes for testklasser i JUnit?

question mark

Hva gjør annotasjonen @Test i JUnit?

Select the correct answer

question mark

Hvilken navnekonvensjon bør brukes for testklasser i JUnit?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 2
some-alt