Как издеваться над селектором jQuery в Google JS Test - PullRequest
0 голосов
/ 07 ноября 2011

Я начал использовать google js test и застрял, пытаясь выполнить модульное тестирование селектора jquery ниже - на самом деле я хочу проверить, была ли вызвана функция добавления, но для этого требуется селектор.

'JQuery'- это объект jQuery ($), который я внедряю в функцию.

JQuery('#' + containerElementId).append('some html');

Я создал объект, который я использую в качестве макета для jQuery this.jQuery = {append: createMockFunction ()};

Я хотел бы проверить, что добавление называется:

expectCall(this.jQuery(_).append)();
-OR-
expectCall(this.jQuery('#fakeselector').append)();

Это дает мне ошибку: TypeError: Свойство 'jQuery' объекта # не является функцией FAILED

Что мне нужно сделать с литералом объекта this.jQuery, чтобы обойти селектор?

1 Ответ

0 голосов
/ 16 ноября 2011

Обнаружено, что вы можете создать макет следующим образом:

var jqueryEmptyStub = {
    append: createMockFunction()
};

var jQueryMock = function (rootSelector) {
    return jqueryEmptyStub;
};

var myObject = anObject(jQueryMock );
expectCall(jqueryEmptyStub.append)();
myObject.doSomethingThatCallsAppend();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...