I am trying to write JUnit test for GraphQl with Spring Boot. My test fails at the below method. I am getting AsserException at treeWiring.abcFetcher. (Caused by: graphql.AssertException: you must provide a data fetcher). PLease help me how to mock the data fetcher. Its value is showing as null.
private RuntimeWiring buildWiring() {
            return RuntimeWiring.newRuntimeWiring()
                    .type(newTypeWiring("Query")
                            .dataFetcher("xList", abcWiring.abcDataFetcher));
Below is my source class
@Component
public class GraphQLProvider {
    private GraphQL graphQL;
    private TreeWiring abcWiring;
    @Autowired
    public GraphQLProvider(TreeWiring abcWiring) {
        this.abcWiring = abcWiring;
    }
    @PostConstruct
    public void init() throws IOException {
        URL url = Resources.getResource("graphql/x.graphqls");
        String sdl = Resources.toString(url, Charsets.UTF_8);
        GraphQLSchema graphQLSchema = buildSchema(sdl);
        Instrumentation instrumentation = new TracingInstrumentation();
        DataLoaderRegistry registry = new DataLoaderRegistry();
        DataLoaderDispatcherInstrumentation dispatcherInstrumentation
                = new DataLoaderDispatcherInstrumentation(registry);
        this.graphQL = GraphQL.newGraphQL(graphQLSchema).instrumentation(instrumentation).instrumentation(dispatcherInstrumentation).build();
    }
    private GraphQLSchema buildSchema(String sdl) {
        TypeDefinitionRegistry typeRegistry = new SchemaParser().parse(sdl);
        RuntimeWiring runtimeWiring = buildWiring();
        SchemaGenerator schemaGenerator = new SchemaGenerator();
        return schemaGenerator.makeExecutableSchema(typeRegistry, runtimeWiring);
    }
    private RuntimeWiring buildWiring() {
        return RuntimeWiring.newRuntimeWiring()
                .type(newTypeWiring("Query")
                        .dataFetcher("xList", abcWiring.abcDataFetcher));
Below is my TestCLass:
@ContextConfiguration(classes = GraphQLProvider.class)
@SpringBootTest
@RunWith(SpringRunner.class)
public class GraphQLProviderTest {
    @MockBean
    TreeWiring treeWiring;
    @MockBean
    DataFetcher abcDataFetcher;
    //@InjectMocks
    //GraphQLProvider graphQLProvider = new GraphQLProvider(treeWiring);
    @Autowired
    @InjectMocks
    GraphQLProvider graphQLProvider;
    @Before
      public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
    }
    @Test
    public void testGetUserLabels() throws IOException  {
        Mockito.when(treeWiring.db2HealthDataFetcher).thenReturn(db2HealthDataFetcher);
        graphQLProvider.init();
    }
}
Below is my TreeWiring code:
@Component
public class TreeWiring {
@Autowired
    public TreeWiring(OneRepository oneRepository,
            TwoRepository twoRepository,
            ThreeRepository threeRepository,
            FourRepository fourRepository) {
        this.oneRepository = oneRepository;
        this.twoRepository = twoRepository;
        this.threeRepository =threeRepository;
        this.fourRepository = fourRepository;
    }
DataFetcher abcDataFetcher = environment -> {   
        String eID = environment.getArgument("eId");
        String dID = environment.getArgument("dId");
return oneRepository.getUserLabel(eID);