Привет вот мой метод испытания:Как издеваются статический метод API
public String getRequestBuilder(String foo1) {
RequestBuilder RequestBuilder = ClientRequest.authorizationProvider(AuthProviderType.footype);
String locationURI = someclassmethod.getLocationURI(RequestBuilder, foo, foo1);
return locationURI;
}
Вот мой тест:
@Test
public void test_foo() {
when(someotherclass.getLocationURI(Matchers.eq(mockRequestBuilder), Matchers.eq("foo"),
Matchers.eq("foo1"))).thenReturn("locationURI");
assertEquals("locationURI", Properties.getRequestBuilder("foo1"));
}
В методе
RequestBuilder RequestBuilder = ClientRequest.authorizationProvider(AuthProviderType.foo);
является статический метод, предоставляемый API. Я не хочу использовать PowerMockito для этого. Если я использую
Matchers.any()
вместо
Matchers.eq(mockRequestBuilder)
тестовый пример проходит. Но использование Matchers.any не предоставило бы мне точного значения. Есть ли способ работать в этом случае? Foo - это значение, которое мы возвращаем из другого метода класса.
Имеет ли этот API какой-либо способ настроить то, что именно возвращается 'authorizationProvider'? Возможно, свойство конфигурации или механизм впрыска зависимостей. –