Add GraphQlTest annotation
Prior to this commit, we could only test Spring GraphQL applications with a complete application - all application and infrastructure components were involved. While using `@SpringBootTest` is often useful for complete integration tests (with or without a live running server), we often want to write lean integration tests and test slices of our application. Just like `@WebMvcTest` or `@WebFluxTest`, this commit introduces the support for `@GraphQlTest`. This annotation helps us to test a particular slice of our application: a hand-picked selection of `@Controller`, plus `RuntimeWiringConfigurer` and `WebInterceptor` beans. Other `@Component` must be imported or mocked for those tests. This commit also refactors the existing auto-configuration to enable this use case. The `WebGraphQlHandlerAutoConfiguration` now holds the required components for `@GraphQlTest`, while other web-related auto-configurations bring the web framework and transport infrastructures. Closes gh-75
This commit is contained in:
@@ -4,7 +4,7 @@ import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.graphql.boot.test.tester.AutoConfigureGraphQlTester;
|
||||
import org.springframework.graphql.boot.test.tester.AutoConfigureWebGraphQlTester;
|
||||
import org.springframework.graphql.execution.ErrorType;
|
||||
import org.springframework.graphql.test.tester.WebGraphQlTester;
|
||||
|
||||
@@ -13,7 +13,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||
|
||||
@SpringBootTest
|
||||
@AutoConfigureMockMvc
|
||||
@AutoConfigureGraphQlTester
|
||||
@AutoConfigureWebGraphQlTester
|
||||
class SampleApplicationTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
Reference in New Issue
Block a user