Я начинаю с тестирования Pact, у меня уже есть тест потребительского контракта и создается файл пакта JSON.
В приведенном ниже примере есть тест, который запускает файл Pact. Вот пример кода, которому я следую, он содержит провайдера (bs), потребителя (клиента) и верификатора (который запускает файл Pact) пример договора
import au.com.dius.pact.provider.junit.PactRunner;
import au.com.dius.pact.provider.junit.Provider;
import au.com.dius.pact.provider.junit.State;
import au.com.dius.pact.provider.junit.loader.PactFolder;
import au.com.dius.pact.provider.junit.target.HttpTarget;
import au.com.dius.pact.provider.junit.target.Target;
import au.com.dius.pact.provider.junit.target.TestTarget;
import org.junit.runner.RunWith;
@RunWith(PactRunner.class)
@Provider("BusService")
@PactFolder("../pacts")
public class BusStopContractTest {
@State("There is a bus with number 613 arriving to Hammersmith bus station")
public void hammerSmith() {
System.out.println("There is a bus with number 613 arriving to Hammersmith bus station" );
}
@TestTarget
public final Target target = new HttpTarget(8111);
}
Я хочу сделать то же самое, но для Junit5, поэтому вместо @ RunWith мне нужно использовать @ ExtendWith , но что должно быть определено внутри ExtendWith () ?
@ ExtendWith (PactRunner.class) не работает, я также пытался с @ ExtendWith (PactConsumerTestExt.class) тоже не сработало.
У меня в поме:
<!-- Pact Provider-->
<dependency>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-provider-junit_2.12</artifactId>
<version>3.5.24</version>
</dependency>
Юнит Юпитер
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
Есть предложения?