Рассмотрим следующую функцию:Sinon.js calledWithExactly() динамическое число аргументов
function MyClass(...);
MyClass.prototype.funcToTest = function() {
var args = arguments;
...
}
Я хочу, чтобы иметь возможность проверить с какими аргументами эта функция была вызвана. В моем тесте я следующее:
var obj = new MyClass();
sinon.spy(obj, 'funcToTest');
var args = [5, 3, 8];
MyClass.prototype.funcToTest.apply(obj, args);
sinon.assert.calledWithExactly(obj.funcToTest, args); // Here's the problem
Проблема в том, что это утверждают не удается, и я не уверен, why.ith?
Да, я полагал, что я должен использовать применить, я отправил ответ на этот вопрос. О шпионаже на obj.funcToTest и вызове MyClass.prototype.funcToTest, я не вижу проблемы, я уже писал тесты, которые заглушают функцию из прототипа, но я вызываю ее через экземпляр, и все же функция когда я называю это утверждениями синонов, отлично работает на нем – Jorayen
@ Jorayen, если вы создаете экземпляр, а _then_ заглушите прототип, я не вижу, как он может работать. Однако это будет работать наоборот: заглушить прототип, а затем создать экземпляр. Но это не то, что показывал ваш примерный код. – robertklep
да я более упростил свой пример. Я закрываю перед тем, как создать экземпляр в тестовой настройке, но это не было моей проблемой, поэтому я даже не упоминал об этом. – Jorayen