Здравствуйте @Vijaya, пожалуйста, нажмите на правильную галочку, если этот ответ помог вам. (У)

ли кто-нибудь помочь мне в этом. Я пишу юнит-тест для ресурса Rest, используя платформу Jersey Rest Test Framework версии 2.21.

Когда я отлаживаю тестовый класс, я вижу фиктивный объект для myManager. Но когда отладка входит в мой класс MyResouce, объект myManager становится нулевым и получает исключение NullPointer.

Пробовал с решениями, предоставленными разными людьми, но не повезло. Может кто-нибудь помочь мне, пожалуйста. Я с этой проблемой почти три дня. :(

Мой ресурсный класс такой.

@Component
@Path("/somepath")
public class MyResource {
    @Autowired
    private MyManager myManager;

    @Path("/somepath")
    @GET
    @Produces("application/json")
    @ResponseType(String.class)
    public Response getResults(@QueryParam("queryParam") String number) {
        // myManager is an interface
        String str = myManager.getResult(number);
    }
}

А вот и мой тестовый класс

public class MyResourceTest extends JerseyTest {
    @Mock
    private MyManager myManager;

    @InjectMocks
    private MyResource myResource;

    @Override
    protected Application configure() {
        MockitoAnnotations.initMocks(this);
        return new ResourceConfig().register(MyResource.class)
                .register(new AbstractBinder() {
                    @Override
                    protected void configure() {
                        bind(myManager).to(MyManager.class);
                    }
                });
    }

    @Test
    public void getResultsTest() {
        when(myManager.getResult(anyString())).thenReturn(mock(String.class));
        String str = target("path").queryParam("queryParam","10").request().get(String.class);
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос