测试打字稿中的私有方法

比方说我有以下打字稿课:

class MyComponent {
  private something: number;

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

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

export default MyComponent

我的目标是使用jest进行测试,但是我有更多的问题要回答。

  • 这是不好的设计模式吗?
  • 是否应该测试私有方法? (网上有很多意见,难以决定)
  • 我是否应该忽略jest coverage的设置,因为它将报告未测试的课程?
  • 我应该改为创建一个公共方法并在其中调用我的私有方法吗?

这是我第一次尝试在private中使用typescript方法并对其进行测试,所以请耐心等候:)

iCMS 回答:测试打字稿中的私有方法

我不认为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
本文链接:https://www.f2er.com/2191421.html

大家都在问