我在为ES6类创建Chai/Mocha单元测试时遇到了麻烦。这个项目配置正确,使用chai/mocha,ES6,babel,所以这不是问题。 (我可以运行一个虚拟测试,检查两个变量是否相同)。仅当我尝试使用下面的ES6类React组件时,才会引发该错误。我使用命令npm test运行测试。我的package.json配置为运行该命令时,我跑NPM测试:如何为ES6类React组件创建Chai/Mocha单元测试?
mocha --compilers js:babel/register file/path/to/spec --recursive
我收到此错误:
警告:的setState(...):只能更新一安装或安装部件。这通常意味着您在卸载的组件上调用了setState()。这是一个没有操作。请检查代码组件
的ES6类阵营组成,看起来像(显然不是全部的话):
import ...
class Car extends React.Component {
constructor() {
super();
this.state = {
color: ''
}
}
setColor(color) {
this.setState({ color : color });
}
render() {
.......
}
}
测试/规格JS文件看起来(主要是等):
import ...
let should = chai.should();
describe('Car Test',() => {
let car;
beforeEach(() => {
car = new Car();
});
it('should be red',() => {
car.setColor('red'); // pretty sure THIS is throwing the error
});
});