Я очень новичок в проводном издевательстве. Я планирую настроить с помощью одного объекта WireMockServer с использованием порта 8081 и настраивать его в задаче gradle.
build.gradle
plugins {
id 'org.springframework.boot' version '2.2.6.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'com.williamhill.wiremock' version '0.4.1'
id 'java'
}
wiremock {
dir "src/test/resources/"
params "--port=8081"
}
task integrationTest(type: Test) {
runWithWiremock = true
}
тестовый класс:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = GladletaskApplication.class)
@AutoConfigureWireMock
@ActiveProfiles(value = "integration")
public class StudentControllerTest {
@Rule
public WireMockRule wireMockRule = new WireMockRule();
@Autowired
public TestRestTemplate testRestTemplate;
@Before
public void setUp() {
mockRemoteService();
}
@Test
public void testAllStudents() {
ResponseEntity<List<Student>> responseEntity = testRestTemplate.exchange("http://localhost:8093/all", HttpMethod.GET,null,
new ParameterizedTypeReference<List<Student>>(){}
);
List<Student> studentList = responseEntity.getBody();
System.out.println("StudentList--->" + studentList.size());
}
private void mockRemoteService() {
stubFor(get(urlEqualTo("/all-students"))
.willReturn(aResponse()
.withStatus(200)
.withHeader("Content-Type", "application/json")
.withBodyFile("response.json")
));
}
}
Теперь у меня есть сервер 8081, который запускается только один раз, и все тесты выполняются, а завершение работы завершается
Возможно ли это сделать? Можете ли вы предоставить пользовательское задание Springboot-Wiremock Gradle?