1

ジャスミンでは、特定のパラメータで呼び出された場合にのみ、スパイから特定の値を返す方法はありますか? たとえば、次のようなものがありますか。

describe('my test', function() {
  beforeEach(function() {
    this.mySpy = jasmine.createSpy();

    // not sure how to do this, so this is pseudocode
    this.mySpy.and.returnValue(true).when.calledWith(false);
    this.mySpy.and.returnValue(false).when.calledWith(true);
  });

  it('returns true if called with false', function() {
    expect(this.mySpy(false)).toEqual(true);
  });

  it('returns false if called with true', function() {
    expect(this.mySpy(true)).toEqual(false);
  });
});

私はドキュメントを調べましたが、欲しいものを見つけることができず、検索しても関連するものを見つけることができませんでした. なぜこれが問題にならないのかはわかります。何を、いつ、なぜ、どのパラメーターで呼び出しているかはわかっているのに、なぜもっと具体的にする必要があるのでしょうか。同時に、何を返したいかを一度正確に指定でき、再度指定する必要がない場合、コードが増える可能性があります。

4

1 に答える 1