2016-11-15 4 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. 

これはargsを検証する方法の1つです。

関連する問題