Kontraktové testy » Historie » Revize 11
« Předchozí |
Revize 11/17
(rozdíl)
| Další »
Václav Hrabík, 2023-04-29 14:07
Kontraktové testy¶
V pom.xml byla přidána dependenci:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-verifier</artifactId>
<version>2.1.1.RELEASE</version>
<scope>test</scope>
</dependency>
a plugin na kontraktové testy:
<plugin>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-contract-maven-plugin</artifactId>
<version>3.0.3</version>
<extensions>true</extensions>
<configuration>
<testFramework>JUNIT5</testFramework>
<baseClassForTests>
"třída, mokojící vše potřebné pro testy"
</baseClassForTests>
</configuration>
</plugin>
Byl zde problém s verzemi -> dávat si na to pozor.
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.
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.
Pro vygenerování testů se musí rozbalit "Maven" menu po pravé straně ide. Tam v SPADe záložce se rozbalí "LifeCycle" záložka. Zde se musí spustit dva příkazy v daném pořadí:
- "clean" - smaže všechny původní testy -> tím uvolní místo pro nové
- "test" - vygeneruje a spustí všechny dostupné testy (jednotkové i kontraktové)
Aktualizováno uživatelem Václav Hrabík před téměř 2 roky(ů) · 11 revizí