代码之家  ›  专栏  ›  技术社区  ›  AnonymousSB

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

  •  0
  • AnonymousSB  · 技术社区  · 6 年前

    我想用Jest测试以下文件,但我不确定如何检查 someVar true false . 为了澄清, 在同一个文件中,但在 class

    let someVar = true
    
    class SomeClass() {
      clear() {
        someVar = false
      }
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   AnonymousSB    6 年前

    虽然我很想知道是否有可能测试我描述的场景,但我发现如果我把代码写得更好的话,测试起来会非常容易。下面是一个例子

    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);
      });
    })