我正在创建一个react组件,并且在这个组件中,我使用了类、方法和生命周期钩子的箭头函数。我正在为同一文件编写单元测试用例。但问题是,当我用旧的javascript方式编写生命周期钩子时,比如
componentDidMount(){
...Here
}然后运行测试覆盖率,那么这个生命周期方法就会被自动覆盖。但是当我这样写的时候
componentDidMount = () => {
...Here
}运行单元测试中没有覆盖的代码覆盖率,并显示"Statement is not covered“。
所以我的问题是,在编写单元测试用例时,这两种方法有什么不同?
发布于 2020-02-12 20:33:26
有一个很大的区别,第一个创建了一个方法,第二个创建了一个属性而不是一个方法,所以它不存在于原型中。
您可以通过在构造函数中绑定它来使用它,但是生命周期事件中的箭头函数将损害性能。
https://stackoverflow.com/questions/60187528
复制相似问题