TypeError:$(...)。lightBox不是Jest中的函数

时间:2019-03-10 05:32:58

标签: reactjs jestjs enzyme

我开玩笑说是React测试的新手。尝试模拟“点击”事件时出现错误。我尝试了许多解决方案,但无法解决此问题。我的实现是这样的:

new_sent = re.sub('[.,;]', '$DELIMITER$', sent)
new_sent = re.sub('\$DELIMITER\$$', '', new_sent)
new_sent.split('$DELIMITER$')

我的测试用例:

delimiter_list = [',', '.', ':', ';']
pattern = '[' + ''.join(delimiter_list) + ']' #will result in [,.:;]
new_sent = re.sub(pattern, '$DELIMITER$', sent)
new_sent = re.sub('\$DELIMITER\$$', '', new_sent)
new_sent.split('$DELIMITER$')

控制台错误:

<span 
    className="add" 
    ref={(targetNode)=>
    {this.addEmploymentBtn=targetNode;}} 
    onClick={this.initDrawerCall}>ADD JOB PROFILE
</span>


initDrawerCall = () => {
    this.state.addEmploymentInstance = $(this.addEmploymentBtn).lightBox({
      // something here...  
    });
}

1 个答案:

答案 0 :(得分:0)

如果不是要测试的东西,则可以在玩笑中模拟jQuery库。您可以通过添加文件jestSetup.js并在其中添加以下代码来实现:

global.$ = () => ({
  lightBox: jest.fn()
})

并在您的jest.config.js内添加此文件的路径,如下所示:

setupFiles: ['<rootDir>/jest/jestSetup.js'],
相关问题