package com.rongyichuang; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import static org.junit.jupiter.api.Assertions.assertTrue; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class SimpleGraphQLTest { @LocalServerPort private int port; @Autowired private TestRestTemplate restTemplate; @Test public void testGraphQLEndpointExists() { String url = "http://localhost:" + port + "/graphql"; HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); String query = "{\"query\":\"{ hello }\"}"; HttpEntity request = new HttpEntity<>(query, headers); System.out.println("测试GraphQL端点: " + url); ResponseEntity response = restTemplate.postForEntity(url, request, String.class); System.out.println("响应状态码: " + response.getStatusCode()); System.out.println("响应体: " + response.getBody()); // 如果GraphQL端点正常工作,应该返回200状态码 // 如果返回404或500,说明端点配置有问题 assertTrue(response.getStatusCode().is2xxSuccessful() || response.getStatusCode().is4xxClientError()); } }