Projekt

Obecné

Profil

Kontraktové testy » Historie » Verze 8

Václav Hrabík, 2023-04-29 10:18

1 1 Petr Urban
h1. Kontraktové testy
2 2 Petr Urban
3 3 Václav Hrabík
V pom.xml byla přidána dependenci a plugin na kontraktové testy.
4
Byl zde problém s verzemi -> dávat si na to pozor.
5 4 Václav Hrabík
6 5 Václav Hrabík
Pro definici testu je používat skript v .groovy. Ve scriptu se definuje Http request, který chceme posílat, a response, kterou očekáváme na daný request. Dále je možné definovat nějaký popis kontraktu.
7
8
Pro úvodní konfiguraci byla vytvořena třída BaseTest (src/test/java/v2/controler). Zde se musí namokovat služby, které nejsou přímo v testované aplikaci -> databáze, oauth, atd. Dále se vytvoří přes "@Autowired" kontext celé aplikace skrze třídu "WebApplicationContext". Před každým testem se pak musí nadefinovat co se má stát, když se volá namokovaná služba.
9
10
Když je vše nastavené, tak dvojím stiskem "Ctrl" se otevře okno pro spuštění maven pluginů. Do tohoto okna se zadá příkaz "mvn clean test", který z .groovy skriptů vytvoří testy a vše spustí.
11 6 Václav Hrabík
12
13
h2. Aktuálně
14 7 Václav Hrabík
15 8 Václav Hrabík
Při generaci testů dochází k špatnému importování testovacích knihoven -> testy se nedokážou správně spustit v rámci automatizace. Ale po vygenerování je ve složce target/generated-test-sources/contracts/cz.czu.../ třída "ContractVerifiertest.class", kde po ručním přepsáním importu z "import org.junit.jupiter.api.Test" na "import org.junit.Test" testy už jdou spustit.
16 6 Václav Hrabík
17
Tento problém je v procesu řešení.