对于jest测试文件,我想导入组件和该方法。
例如我有这个组件:
import React from 'react'
class Dashboard extends React.Component {
constructor(props) {
super(props)
}
sum(one, two) {
return one + two
}
render() {
return(
<div>
<h1>{this.sum(12, 14)}</h1>
</div>
)
}
}
export default Dashboard
&#13;
因此,在测试文件中,我喜欢用toEqual:
测试具有render和sum函数的组件
import React from 'react';
import ReactDOM from 'react-dom';
import Dashboard from '../Dashboard';
it('check component', () => {
const div = document.createElement('div');
ReactDOM.render(<Dashboard />, div);
});
it('check sum function', () => {
expect(sum(12, 12)).toEqual(24);
});
&#13;
但是第二次测试和总和失败了,因为测试函数找不到求和函数......
如何导出组件并包含方法?
由于
答案 0 :(得分:0)
如果你想测试一个功能,那不依赖于你可以使用static
修饰符的组件:
import React from 'react'
class Dashboard extends React.Component {
constructor(props) {
super(props)
}
static sum(one, two) {
return one + two
}
render() {
return(
<div>
<h1>{Dashboard.sum(12, 14)}</h1>
</div>
)
}
}
export default Dashboard
&#13;
it('check component', () => {
const div = document.createElement('div');
ReactDOM.render(<Dashboard />, div);
});
it('check sum function', () => {
expect(Dashboard.sum(12, 12)).toEqual(24);
});
&#13;
在大多数情况下,没有必要单独测试反应组分方法。
解决问题的另一种方法是将sum移动到单独的模块。然后,您可以将单元测试添加到此模块。