私は応答オブジェクトをモックアップしようとしています、そしてそれはこのようなものです:
var res = {
status: jasmine.createSpy().andReturn(this),
send: jasmine.createSpy().andReturn(this)
}
これは、jasmineオブジェクトを返します。モックされた関数を含む元のres変数を本当に返したいのですが。それは可能ですか?私は主にこれを実装して、難しいことが判明しているres.status()。send()を含む関数を単体テストします。
ここでの答えは実際にはかなり速いです。 andReturn()を呼び出すと、ジャスミンが 'this'になります。しかし、andCallFake()を記述した場合、その関数はモックされたオブジェクトをこれと見なします。ソリューションは次のようになります。
status: jasmine.createSpy().andCallFake(function(msg) { return this });
これは私にとってはうまくいきます:
const res = {
status: jasmine.createSpy('status').and.callFake(() => res),
send: jasmine.createSpy('send').and.callFake(() => res),
};