问题
I've created a Mocha test setup similar to this tutorial outlined here: https://github.com/jesstelford/react-testing-mocha-jsdom.
I'm wondering how I can load in jQuery into this structure. I've included it as require('jquery')
test JS file, but when I call $.ajax
, it gives an error saying TypeError: Attempted to wrap undefined property ajax as function
. I suspect that this is because Node is not running my JavaScript inside a browser. However, I've tried using a window environment, but still no luck.
I know the traditional way is to include jQuery in HTML tags, but I'm not sure how to do that here, since I don't have an HTML file.
回答1:
This is a pattern that has worked for me for certain jquery methods in mocha, I'm not sure it'll work for ajax but give it a shot and let me know.
import jsdom from 'jsdom'
import _$ from 'jquery'
global.document = jsdom.jsdom('<!doctype html><html><body></body></html>')
global.window = global.document.defaultView
const $ = _$(global.window)
来源:https://stackoverflow.com/questions/37869307/load-jquery-into-mocha-test-for-react-app