2016-11-15 10 views
0

Я пытаюсь выполнить этот простой тест.Простой пример один раз с аргументами

let querySpy = sinon.spy(db.query); 

querySpy.expects().once().withArgs(`USE myDatabase`); 

Я пытаюсь установить шпион по методу, ожидая, что он будет вызываться один раз с конкретными аргументами. Легче сказать, чем сделать.

Я не могу поместить шпиона на db, результаты TypeError: Attempted to wrap undefined property undefined as function (это объект).

Я смотрю на: https://gist.github.com/yoavniran/1e3b0162e1545055429e#sinon-chai

Я не могу найти метод calledOnceWith. Он существует?

ответ

0

Для проверки аргументов, которые отправляются функции, вы можете использовать аргументы args.

sinon.spy(db, "query"); //spy on existing method  
expect(db.query.calledOnce).to.be.true; //verify is called once 
const args = db.query.getCalls()[0].args; //get the arguments 
expect(args[0]).to.equal(`USE myDatabase`); //verify the arguments. 

Это один из способов проверки аргументов.

 Смежные вопросы

  • Нет связанных вопросов^_^