打字稿中私有方法的测试

Testing of private methods in typescript

假设我有以下打字稿 class:

class MyComponent {
  private something: number;

  constructor () {
    this.something = 0
    this.incrementSomething()
  }

  private incrementSomething () : number {
    return this.something++
  }
}

export default MyComponent

我的目标是使用 jest 对其进行测试,但我的问题多于答案。

我第一次尝试使用typescript中的private方法并尝试测试它们,所以请耐心等待:)

我认为 SO 不是解决此类问题的理想场所,因为您要问的大部分内容都是基于意见的。但是,您可以断言该对象是 any 以便进行一些测试:

class MyComponent {
  private something: number;

  constructor () {
    this.something = 0
    this.incrementSomething()
  }

  private incrementSomething () : number {
    return this.something++
  }
}

const thingIWantToTest = new MyComponent();

console.log((thingIWantToTest as any).something); // works
console.log(thingIWantToTest.something);          // type error