Это класс, который я пытаюсь проверить (он рассчитывает размер HTTP-страницы):
import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.client.*;
public class Loader {
private Client client;
public Loader(Client c) {
this.client = c;
}
public Integer getLength(URI uri) throws Exception {
return c.resource(uri) // returns WebResource
.accept(MediaType.APPLICATION_XML) // returns WebResource.Builder
.get(String.class) // returns String
.length();
}
}
Конечно, это всего лишь пример, а не реальное решение. Сейчас я пытаюсь проверить этот класс:
public class LoaderTest {
@Test public void shouldCalculateLength() throws Exception {
String mockPage = "test page"; // length is 9
Client mockedClient = /* ??? */;
Loader mockedLoader = new Loader(mockedClient);
assertEquals(
mockPage.length(),
mockedLoader.getLength(new URI("http://example.com"))
);
}
}
Как мне высмеивать com.sun.jersey.api.client.Client
класс? Я пытаюсь использовать Mockito, но любой другой фреймворк будет в порядке, так как я новичок здесь ..