Недавно я использую схему 2.4 для Java-проекта.Java Play 2.4 написать тестовый пример для класса с использованием инъекции
В этом я использую библиотеку WsClient. Эта библиотека вводится в мой класс.
Сейчас я пытаюсь написать тест для данного класса, но тест не удается из-за ошибки нулевого указателя на переменную wsClient.
wsClient.url("some url").get()
Не могли бы вы помочь мне решить эту проблему?
Ниже тестовый код
// Class
public class ElasticSearch {
@Inject WSClient wsClient;
public Promise<WSResponse> createIndex() {
Logger.info("Entering ElasticSearch.createIndex()");
Logger.debug("WSClient: " + wsClient);
Promise<WSResponse> response =wsClient.url(this.getEsClient()+ "/" +this.getEsIndexName()).setContentType("application/json").put("");
Logger.info("Exiting ElasticSearch.createIndex()");
return response;
}
}
// Test function
@Test
public void testCreateIndex() {
running(fakeApplication(), new Runnable() {
public void run() {
ElasticSearch esearch= new ElasticSearch();
esearch.setEsIndexName("car_model");
assertNotNull(esearch.createIndex());
}
});
}
Можете ли вы поделиться тестовым кодом? – Tomer
Hi Tomer, Спасибо за ваш ответ, я изменил вопрос и добавил тестовый код. –
Вы хотите проверить функциональность elasticsearch? что вы загружаете фактический кластер elasticsearch и хотите его запросить? или вы хотите «высмеять» перенастроенные результаты из wsClinet? – Tomer