Oikeat riippuvuudet Testcontainersilla
Testatkaa oikeita tietokantoja säiliöissä.
Oikeat riippuvuudet Testcontainersilla on ilmainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 4 oppituntia.
Miksi Testcontainersia käytetään
Testcontainers suorittaa oikeita palveluita — PostgreSQL:ää, Redisiä ja Kafkaa — Docker-säilöissä testien aikana.
Testaatte oikeaa tietokantaa muistinsisäisen korvikkeen sijaan ja löydätte murre- ja toimintaerot.
Riippuvuuden lisääminen
Lisätkää Testcontainersin JUnit- ja tietokantamoduulit koontiinne.
// build.gradle
testImplementation "org.testcontainers:junit-jupiter"
testImplementation "org.testcontainers:postgresql"@Testcontainers-annotaatio
@Testcontainers testiluokassa ottaa säilöjen elinkaaren hallinnan käyttöön.
@Testcontainers
@SpringBootTest
class UserRepositoryIT {
// containers declared here
}PostgreSQLContainerin määrittäminen
Staattinen @Container-kenttä määrittää käynnistettävän tietokantanäköistiedoston.
@Container
static PostgreSQLContainer<?> postgres =
new PostgreSQLContainer<>("postgres:16")
.withDatabaseName("testdb")
.withUsername("test")
.withPassword("test");Tietolähteen kytkeminen
Käyttäkää @DynamicPropertySource-annotaatiota säilön luoman JDBC-URL-osoitteen välittämiseen Springille.
@DynamicPropertySource
static void props(DynamicPropertyRegistry registry) {
registry.add("spring.datasource.url",
postgres::getJdbcUrl);
registry.add("spring.datasource.username",
postgres::getUsername);
registry.add("spring.datasource.password",
postgres::getPassword);
}Täydellinen repositoriotesti
Nyt repositoriotestit suoritetaan oikeaa PostgreSQL:ää vasten.
@Test
void savesAndReads() {
User saved = repository.save(new User("Alice"));
assertThat(repository.findById(saved.getId()))
.isPresent();
}Staattiset ja instanssisäilöt
static-säilö käynnistetään kerran kaikille luokan testeille (nopeampi). Ei-staattinen säilö käynnistetään uudelleen jokaiselle testille (parempi eristys).
Muita säilötyyppejä
Testcontainers sisältää moduuleja monille palveluille.
@Container
static GenericContainer<?> redis =
new GenericContainer<>("redis:7")
.withExposedPorts(6379);Säilöjen uudelleenkäyttö
Ottakaa säilöjen uudelleenkäyttö käyttöön nopeuttaaksenne paikallisia ajoja testisuoritusten välillä.
@Container
static PostgreSQLContainer<?> postgres =
new PostgreSQLContainer<>("postgres:16")
.withReuse(true);Spring Bootin palveluyhteydet
Spring Boot 3.1 ja uudemmat versiot voivat määrittää tietolähteen automaattisesti säilöstä @ServiceConnection-annotaation avulla, jolloin @DynamicPropertySource-annotaatiota ei tarvita.
@Container
@ServiceConnection
static PostgreSQLContainer<?> postgres =
new PostgreSQLContainer<>("postgres:16");Docker-vaatimus
Testcontainers tarvitsee tietokoneessa tai CI-agentissa käynnissä olevan Docker-moottorin. Ilman Dockeria testit eivät pysty käynnistämään säilöjä.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte Testcontainersia.
Kertaus
Opitte testaamaan oikeita riippuvuuksia vasten:
@Testcontainers+@Containerkäynnistävät Docker-palvelutPostgreSQLContaineroikeaa tietokantaa varten@DynamicPropertySourcetai@ServiceConnectionkytkee tietolähteen- Edellyttää käynnissä olevaa Docker-moottoria
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 24
- Oppitunnit
- 93
Usein kysytyt kysymykset
Onko oppitunti ”Oikeat riippuvuudet Testcontainersilla” ilmainen?
Kyllä – oppitunnin ”Oikeat riippuvuudet Testcontainersilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssin, päivitä CoddyKit PROhon. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Oikeat riippuvuudet Testcontainersilla”?
Testatkaa oikeita tietokantoja säiliöissä. Harjoittelet Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Oikeat riippuvuudet Testcontainersilla”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunnilla?
Kyllä. Jokainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Yksikkötestaus JUnitilla ja Mockitolla
- Web-kerroksen testaus MockMvc:llä
- Integraatiotestaus @SpringBootTest-annotaatiolla
- Oikeat riippuvuudet Testcontainersilla