有关编写React测试用例的帮助
import {getEvent} from './utility'
export default class MyComponent extends React.Component {
constructor() {
......
}
componentDidMount(){
....
this.addEventListeners();
}
addEventListeners() {
const targetEvent = getEvent() === 'someevent' ? 'someevent' : 'someotherevent';
if(targetEvent) {
document.addEventListeners('targetEvent', this.handleEvent);
}
}
.....
}
上面是我组件的示例代码。 我已经为该组件编写了测试用例,因为在如下所述的一种情况下编写测试用例时遇到了一些困难。
如何为以下代码编写测试用例
const targetEvent = getEvent() === 'someevent' ? 'someevent' : 'someotherevent';
getEvent()方法不是组件实例方法,也不通过。 在测试案例中如何涵盖该方法。
我们非常感谢您的帮助。
谢谢!
答案 0 :(得分:0)
由于getEvent
是导入文件,因此应对其进行模拟。这不仅是覆盖范围所必需的,而且还可以隔离测试单元:
it('...', async () => {
jest.mock('./utility', () => ({
getEvent: jest.fn().mockReturnValue(() => 'someevent')
});
const MyComponent = (await import('...')).default;
...