Вот контроллер:
Код: Выделить всё
@Controller
@RequiredArgsConstructor
public class DiagnosesController {
@QueryMapping
public ListResponse diagnoses(
@Nullable @Argument String diagnosisNamePrefix,
@Nullable @Argument Pagination pagination
) throws SQLException {
...
}
@MutationMapping
public Diagnosis createDiagnosis(@Argument CreateDiagnosis createDiagnosis) throws SQLException{
...
}
@MutationMapping Diagnosis editDiagnosis(@Argument EditDiagnosis editDiagnosis) {
...
}
}
Код: Выделить всё
@GraphQlTest(DiagnosesController.class)
@Import({
...
})
public class DiagnosesControllerTest {
@Autowired
private GraphQlTester graphQlTester;
...
@BeforeEach
void beforeEach() {
...
}
@Test
void createDiagnosisTest() {
...
}
}
Код: Выделить всё
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.3'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'ru.***'
version = '0.0.1-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation project(':domain')
implementation project(':lib')
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
implementation group: 'org.javatuples', name: 'javatuples', version: '1.2'
implementation group: 'io.vavr', name: 'vavr', version: '0.10.4'
implementation group: 'com.jcabi', name: 'jcabi-jdbc', version: '0.19.0'
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.17.0'
implementation group: 'org.jetbrains', name: 'annotations', version: '25.0.0'
implementation group: 'io.micrometer', name: 'micrometer-commons', version: '1.13.5'
implementation group: 'org.springframework', name: 'spring-core', version: '6.1.13'
testImplementation group: 'org.springframework.graphql', name: 'spring-graphql-test', version: '1.3.2'
testImplementation 'org.springframework:spring-test'
testImplementation group: 'org.springframework.graphql', name: 'spring-graphql-test', version: '1.3.2'
implementation 'org.springframework.boot:spring-boot-starter-graphql'
testImplementation group: 'org.springframework.boot', name: 'spring-boot-test-autoconfigure', version: '3.3.4'
implementation 'com.graphql-java:graphql-java-extended-scalars:22.0'
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.32'
compileOnly 'org.projectlombok:lombok:1.18.32'
testCompileOnly 'org.projectlombok:lombok:1.18.32'
annotationProcessor 'org.projectlombok:lombok:1.18.32'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.32'
}
test {
useJUnitPlatform()
}
Код: Выделить всё
Error creating bean with name 'ru.hirus.pakserver.graphqlapi.controller.DiagnosesControllerTest': Unsatisfied dependency expressed through field 'graphQlTester': No qualifying bean of type 'org.springframework.graphql.test.tester.GraphQlTester' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ru.hirus.pakserver.graphqlapi.controller.DiagnosesControllerTest': Unsatisfied dependency expressed through field 'graphQlTester': No qualifying bean of type 'org.springframework.graphql.test.tester.GraphQlTester' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: { @ o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d ( r e q u i r e d = t r u e ) } < b r / > a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r $ A u t o w i r e d F i e l d E l e m e n t . r e s o l v e F i e l d V a l u e ( A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 7 8 7 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r $ A u t o w i r e d F i e l d E l e m e n t . i n j e c t ( A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 7 6 7 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . I n j e c t i o n M e t a d a t a . i n j e c t ( I n j e c t i o n M e t a d a t a . j a v a : 1 4 5 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . p o s t P r o c e s s P r o p e r t i e s ( A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 5 0 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . p o p u l a t e B e a n ( A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . j a v a : 1 4 1 9 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . a u t o w i r e B e a n P r o p e r t i e s ( A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . j a v a : 3 9 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . s u p p o r t . D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . i n j e c t D e p e n d e n c i e s ( D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . j a v a : 1 4 3 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . s u p p o r t . D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . p r e p a r e T e s t I n s t a n c e ( D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . j a v a : 9 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . T e s t C o n t e x t M a n a g e r . p r e p a r e T e s t I n s t a n c e ( T e s t C o n t e x t M a n a g e r . j a v a : 2 6 0 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . j u n i t . j u p i t e r . S p r i n g E x t e n s i o n . p o s t P r o c e s s T e s t I n s t a n c e ( S p r i n g E x t e n s i o n . j a v a : 1 6 3 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ i n v o k e T e s t I n s t a n c e P o s t P r o c e s s o r s $ 1 0 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 7 8 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . e x e c u t e A n d M a s k T h r o w a b l e ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 8 3 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ i n v o k e T e s t I n s t a n c e P o s t P r o c e s s o r s $ 1 1 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 7 8 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ 3 $ 1 . a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 1 9 7 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ 2 $ 1 . a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 1 7 9 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . A r r a y L i s t $ A r r a y L i s t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( A r r a y L i s t . j a v a : 1 7 0 8 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . c o p y I n t o ( A b s t r a c t P i p e l i n e . j a v a : 5 0 9 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . w r a p A n d C o p y I n t o ( A b s t r a c t P i p e l i n e . j a v a : 4 9 9 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . S t r e a m S p l i t e r a t o r s $ W r a p p i n g S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( S t r e a m S p l i t e r a t o r s . j a v a : 3 1 0 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . S t r e a m s $ C o n c a t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( S t r e a m s . j a v a : 7 3 5 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . S t r e a m s $ C o n c a t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( S t r e a m s . j a v a : 7 3 4 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ H e a d . f o r E a c h ( R e f e r e n c e P i p e l i n e . j a v a : 7 6 2 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . i n v o k e T e s t I n s t a n c e P o s t P r o c e s s o r s ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 7 7 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ i n s t a n t i a t e A n d P o s t P r o c e s s T e s t I n s t a n c e $ 6 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 9 0 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . i n s t a n t i a t e A n d P o s t P r o c e s s T e s t I n s t a n c e ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 8 9 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ t e s t I n s t a n c e s P r o v i d e r $ 4 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 7 9 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . O p t i o n a l . o r E l s e G e t ( O p t i o n a l . j a v a : 3 6 4 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ t e s t I n s t a n c e s P r o v i d e r $ 5 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 7 8 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . e x e c u t i o n . T e s t I n s t a n c e s P r o v i d e r . g e t T e s t I n s t a n c e s ( T e s t I n s t a n c e s P r o v i d e r . j a v a : 3 1 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . l a m b d a $ p r e p a r e $ 0 ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 1 0 6 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . p r e p a r e ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 1 0 5 ) < b r / > a t o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . p r e p a r e ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 6 9 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ p r e p a r e $ 2 ( N o d e T e s t T a s k . j a v a : 1 2 3 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . p r e p a r e ( N o d e T e s t T a s k . j a v a : 1 2 3 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . e x e c u t e ( N o d e T e s t T a s k . j a v a : 9 0 ) < b r / > a t j a v a . b a s e / j a v a . u t i l . A r r a y L i s t . f o r E a c h ( A r r a y L i s t . j a v a : 1 5 9 6 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . S a m e T h r e a d H i e r a r c h i c a l T e s t E x e c u t o r S e r v i c e . i n v o k e A l l ( S a m e T h r e a d H i e r a r c h i c a l T e s t E x e c u t o r S e r v i c e . j a v a : 4 1 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ e x e c u t e R e c u r s i v e l y $ 6 ( N o d e T e s t T a s k . j a v a : 1 5 5 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ e x e c u t e R e c u r s i v e l y $ 8 ( N o d e T e s t T a s k . j a v a : 1 4 1 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e . a r o u n d ( N o d e . j a v a : 1 3 7 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ e x e c u t e R e c u r s i v e l y $ 9 ( N o d e T e s t T a s k . j a v a : 1 3 9 ) < b r / > a t o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.graphql.test.tester.GraphQlTester' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1880)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1406)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1353)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:784)
... 88 more
No qualifying bean of type 'org.springframework.graphql.test.tester.GraphQlTester' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.graphql.test.tester.GraphQlTester' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: { @ o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d ( r e q u i r e d = t r u e ) } < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t L i s t a b l e B e a n F a c t o r y . r a i s e N o M a t c h i n g B e a n F o u n d ( D e f a u l t L i s t a b l e B e a n F a c t o r y . j a v a : 1 8 8 0 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t L i s t a b l e B e a n F a c t o r y . d o R e s o l v e D e p e n d e n c y ( D e f a u l t L i s t a b l e B e a n F a c t o r y . j a v a : 1 4 0 6 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t L i s t a b l e B e a n F a c t o r y . r e s o l v e D e p e n d e n c y ( D e f a u l t L i s t a b l e B e a n F a c t o r y . j a v a : 1 3 5 3 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r $ A u t o w i r e d F i e l d E l e m e n t . r e s o l v e F i e l d V a l u e ( A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 7 8 4 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r $ A u t o w i r e d F i e l d E l e m e n t . i n j e c t ( A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 7 6 7 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . I n j e c t i o n M e t a d a t a . i n j e c t ( I n j e c t i o n M e t a d a t a . j a v a : 1 4 5 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . p o s t P r o c e s s P r o p e r t i e s ( A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r . j a v a : 5 0 8 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . p o p u l a t e B e a n ( A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . j a v a : 1 4 1 9 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . a u t o w i r e B e a n P r o p e r t i e s ( A b s t r a c t A u t o w i r e C a p a b l e B e a n F a c t o r y . j a v a : 3 9 8 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . s u p p o r t . D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . i n j e c t D e p e n d e n c i e s ( D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . j a v a : 1 4 3 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . s u p p o r t . D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . p r e p a r e T e s t I n s t a n c e ( D e p e n d e n c y I n j e c t i o n T e s t E x e c u t i o n L i s t e n e r . j a v a : 9 8 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . T e s t C o n t e x t M a n a g e r . p r e p a r e T e s t I n s t a n c e ( T e s t C o n t e x t M a n a g e r . j a v a : 2 6 0 ) < b r / > a t a p p / / o r g . s p r i n g f r a m e w o r k . t e s t . c o n t e x t . j u n i t . j u p i t e r . S p r i n g E x t e n s i o n . p o s t P r o c e s s T e s t I n s t a n c e ( S p r i n g E x t e n s i o n . j a v a : 1 6 3 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ i n v o k e T e s t I n s t a n c e P o s t P r o c e s s o r s $ 1 0 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 7 8 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . e x e c u t e A n d M a s k T h r o w a b l e ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 8 3 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ i n v o k e T e s t I n s t a n c e P o s t P r o c e s s o r s $ 1 1 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 7 8 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ 3 $ 1 . a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 1 9 7 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ 2 $ 1 . a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 1 7 9 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . A r r a y L i s t $ A r r a y L i s t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( A r r a y L i s t . j a v a : 1 7 0 8 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . c o p y I n t o ( A b s t r a c t P i p e l i n e . j a v a : 5 0 9 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . w r a p A n d C o p y I n t o ( A b s t r a c t P i p e l i n e . j a v a : 4 9 9 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . S t r e a m S p l i t e r a t o r s $ W r a p p i n g S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( S t r e a m S p l i t e r a t o r s . j a v a : 3 1 0 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . S t r e a m s $ C o n c a t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( S t r e a m s . j a v a : 7 3 5 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . S t r e a m s $ C o n c a t S p l i t e r a t o r . f o r E a c h R e m a i n i n g ( S t r e a m s . j a v a : 7 3 4 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e $ H e a d . f o r E a c h ( R e f e r e n c e P i p e l i n e . j a v a : 7 6 2 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . i n v o k e T e s t I n s t a n c e P o s t P r o c e s s o r s ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 3 7 7 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ i n s t a n t i a t e A n d P o s t P r o c e s s T e s t I n s t a n c e $ 6 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 9 0 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . i n s t a n t i a t e A n d P o s t P r o c e s s T e s t I n s t a n c e ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 8 9 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ t e s t I n s t a n c e s P r o v i d e r $ 4 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 7 9 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . O p t i o n a l . o r E l s e G e t ( O p t i o n a l . j a v a : 3 6 4 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . C l a s s B a s e d T e s t D e s c r i p t o r . l a m b d a $ t e s t I n s t a n c e s P r o v i d e r $ 5 ( C l a s s B a s e d T e s t D e s c r i p t o r . j a v a : 2 7 8 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . e x e c u t i o n . T e s t I n s t a n c e s P r o v i d e r . g e t T e s t I n s t a n c e s ( T e s t I n s t a n c e s P r o v i d e r . j a v a : 3 1 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . l a m b d a $ p r e p a r e $ 0 ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 1 0 6 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . p r e p a r e ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 1 0 5 ) < b r / > a t a p p / / o r g . j u n i t . j u p i t e r . e n g i n e . d e s c r i p t o r . T e s t M e t h o d T e s t D e s c r i p t o r . p r e p a r e ( T e s t M e t h o d T e s t D e s c r i p t o r . j a v a : 6 9 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ p r e p a r e $ 2 ( N o d e T e s t T a s k . j a v a : 1 2 3 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . p r e p a r e ( N o d e T e s t T a s k . j a v a : 1 2 3 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . e x e c u t e ( N o d e T e s t T a s k . j a v a : 9 0 ) < b r / > a t j a v a . b a s e @ 2 1 . 0 . 2 / j a v a . u t i l . A r r a y L i s t . f o r E a c h ( A r r a y L i s t . j a v a : 1 5 9 6 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . S a m e T h r e a d H i e r a r c h i c a l T e s t E x e c u t o r S e r v i c e . i n v o k e A l l ( S a m e T h r e a d H i e r a r c h i c a l T e s t E x e c u t o r S e r v i c e . j a v a : 4 1 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ e x e c u t e R e c u r s i v e l y $ 6 ( N o d e T e s t T a s k . j a v a : 1 5 5 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ e x e c u t e R e c u r s i v e l y $ 8 ( N o d e T e s t T a s k . j a v a : 1 4 1 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e . a r o u n d ( N o d e . j a v a : 1 3 7 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . l a m b d a $ e x e c u t e R e c u r s i v e l y $ 9 ( N o d e T e s t T a s k . j a v a : 1 3 9 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . T h r o w a b l e C o l l e c t o r . e x e c u t e ( T h r o w a b l e C o l l e c t o r . j a v a : 7 3 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . N o d e T e s t T a s k . e x e c u t e R e c u r s i v e l y ( N o d e T e s t T a s k . j a v a : 1 3 8 ) < b r / > a t a p p / / o r g . j u n i t . p l a t f o r m . e n g i n e . s u p p o r t . h i e r a r c h i c a l . NodeTestTask.execute(NodeTestTask.java:95)
at java.base@21.0.2/java.util.ArrayList.forEach(ArrayList.java:1596)
at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
at app//org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
at app//org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
at app//org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:119)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:94)
at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:89)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62)
at java.base@21.0.2/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base@21.0.2/java.lang.reflect.Method.invoke(Method.java:580)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
В другом моем проекте с похожим build.gradle все так работает нормально. Как я вижу, GraphQlTester автоматически настраивается в следующем пакете:
Код: Выделить всё
package org.springframework.boot.test.autoconfigure.graphql.tester;
import ***;
@AutoConfiguration(after = { JacksonAutoConfiguration.class, GraphQlAutoConfiguration.class })
@ConditionalOnClass({ GraphQL.class, GraphQlTester.class })
public class GraphQlTesterAutoConfiguration {
@Bean
@ConditionalOnBean(ExecutionGraphQlService.class)
@ConditionalOnMissingBean
@SuppressWarnings("removal")
public ExecutionGraphQlServiceTester graphQlTester(ExecutionGraphQlService graphQlService,
ObjectProvider objectMapperProvider) {
ExecutionGraphQlServiceTester.Builder builder = ExecutionGraphQlServiceTester.builder(graphQlService);
objectMapperProvider.ifAvailable((objectMapper) -> {
builder.encoder(new Jackson2JsonEncoder(objectMapper, MediaType.APPLICATION_GRAPHQL_RESPONSE,
MediaType.APPLICATION_JSON, MediaType.APPLICATION_GRAPHQL));
builder.decoder(new Jackson2JsonDecoder(objectMapper, MediaType.APPLICATION_JSON));
});
return builder.build();
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... phqltester
Мобильная версия