testcontainers / testcontainers/testcontainers-java

Restart the tc_initscript before each test

Offen
#3,239 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stale
Vorherrschende Sprache
Java
Sterne
8.7k
Forks
1.9k
Ø Merge
2 T. 17 Std.
Gemergte PRs (30 T.)
9

Beschreibung

Hi,

I successfully set up TestContainers in a quarkus application with this kind of configuration:

%test.quarkus.datasource.url=jdbc:tc:postgresql:11:///dbname?TC_INITSCRIPT=file:src/test/resources/init.sql

However in some tests I delete rows; and I'd like that each test start with the same database state.

Is there any way to force TestContainers to re-run the initscript before each test, or even each test class?

PS: I could probably init the containers myself from test classes to achieve it; however I set up 3 different databases and it would need lot of boilerplate code.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Verarbeitung der Option TC_INITSCRIPT durch Testcontainers und den Lebenszyklus des Containers während JUnit-Tests zu lesen. Lege fest, ob das erneute Ausführen des Skripts pro Test oder Testklasse unterstützt wird, und berücksichtige, wie das Verhalten für mehrere konfigurierte Datenbanken funktionieren würde, ohne dass Setup-Boilerplate erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, java, postgresql
Bereich
databases, testing
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.