在Jest测试中更改了类之外的检查值

时间:2018-11-08 00:18:17

标签: jestjs

我有以下文件要用Jest测试,但是我不确定如何检查someVar的值是否从true更改为false。需要说明的是,someVar在同一文件中,但在class

之外
let someVar = true

class SomeClass() {
  clear() {
    someVar = false
  }
}

1 个答案:

答案 0 :(得分:0)

虽然我很想知道是否可以测试上述场景,但是我发现,如果我只编写更好的代码,测试起来非常容易。这是一个例子

class SomeClass() {
  constructor() {
    this._someVar = false;
  }
  get someVar() { return this._someVar; }
  set someVar(value) { this._someVar = value; }
  clear() {
    this.someVar = false;
  }
}

describe('SomeClass', () => {
  it('sets someVar to false', () => {
    const someClass = new SomeClass();
    someClass.someVar = true;
    someClass.clear();
    expect(someClass.someVar).toEqual(false);
  });
})