У меня есть объект NetFlowStorage, содержащий методы для доступа к определенному индексу elasticsearch. Мой конструктор выглядит следующим образом:модульное тестирование вложенных объектов в javascript/node
function NetFlowStorage() {
this.host = 'localhost:9200';
this.shards = '4';
this.replicas = '0';
this.index_name = 'flow_track2';
this.client = null;
}
Внутри объекта У меня есть метод, называемый подключения, который при вызове будет делать соединение и хранить elasticsearch объект клиента в this.client
собственности (если есть не один уже есть). Таким образом, все методы объекта могут получить доступ к клиенту elasticsearch с помощью this.client
Первый вопрос, это подходящий шаблон? Если нет, что предпочтительнее?
Второй вопрос (и тот, который меня потащил сюда), как бы я высмеивал звонки на такие вещи, как this.client.index({})
Я только начинаю возиться с модульным тестированием и издеваться над узлом/js, поэтому у меня действительно нет предпочтение в плане структуры (в настоящее время используется мокко/чай/синус)
Полный код here, если вы хотите увидеть более подробно.
Эта статья может представлять интерес HTTP://www.clock.co.uk/blog/tools-for-unit-testing-and-quality-assurance-in-node-js –