Создать один объект WireMockServer с одним портом - PullRequest
0 голосов
/ 30 марта 2020

Я очень новичок в проводном издевательстве. Я планирую настроить с помощью одного объекта 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?

1 Ответ

0 голосов
/ 23 апреля 2020

Я решил с помощью следующего:
1) @BeforeClass & @AfterClass запустить и остановить сервер.
2) Я попытался с помощью созданного набора тестов JUnit и @BeforeClass & @AfterClass запустить и остановить сервер, здесь применяется уровень пакета.

...