我正在尝试模拟对服务的调用,但我正在使用以下消息:模块工厂jest.mock()不允许引用任何超出范围的变量.
我正在使用带有ES6语法,开玩笑和酶的babel.
我有一个简单的组件Vocabulary,它VocabularyEntry从a 获取-Objects 列表vocabularyService并呈现它.
import React from 'react';
import vocabularyService from '../services/vocabularyService';
export default class Vocabulary extends React.Component {
render() {
let rows = vocabularyService.vocabulary.map((v, i) => <tr key={i}>
<td>{v.src}</td>
<td>{v.target}</td>
</tr>
);
// render rows
}
}
Run Code Online (Sandbox Code Playgroud)
这vocabularyServise很简单:
import {VocabularyEntry} from '../model/VocabularyEntry';
class VocabularyService {
constructor() {
this.vocabulary = [new VocabularyEntry("a", "b")];
}
}
export default new VocabularyService();`
Run Code Online (Sandbox Code Playgroud)
现在我想vocabularyService在测试中嘲笑:
import {shallow} from 'enzyme';
import …Run Code Online (Sandbox Code Playgroud)