JestのReactアプリケーションをコマンドラインからテストしているときにEnzymeのmount
機能を使用すると、次のエラーが表示されます。 DOM環境がロードされていないと言いますが、JSDOMをセットアップする必要があると思います。しかし、それはJSDOM ships with Jest and is preconfiguredがJestのFacebookの文書によると思われます。ここに私のテストです:酵素のdom環境が確実にロードされるようにする
import React from 'react'
import MyComponent from '../src/components/MyComponent'
import { configure } from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
import { mount, shallow } from 'enzyme'
import { Menu, Dropdown, Modal } from 'semantic-ui-react'
import renderer from 'react-test-renderer';
configure({ adapter: new Adapter() })
test('it works',() => {
const wrapper = mount(
<MyComponent />
)
expect(wrapper.contains('foobar')).toEqual(true)
});
そして、ここでエラーがあります:
Enzyme's mount expects a DOM environment to be loaded, but found none
at assertDomAvailable (node_modules/enzyme-adapter-utils/build/Utils.js:107:11)
at ReactSixteenAdapter.createMountRenderer (node_modules/enzyme-adapter-react-16/build/ReactSixteenAdapter.js:203:52)
at ReactSixteenAdapter.createRenderer (node_modules/enzyme-adapter-react-16/build/ReactSixteenAdapter.js:384:25)
at new ReactWrapper (node_modules/enzyme/build/ReactWrapper.js:96:54)
at mount (node_modules/enzyme/build/mount.js:19:10)
at Object.<anonymous> (test/LinesheetModal.test.js:12:37)
at new Promise (<anonymous>)
反応し-16-アダプタを酵素に関連すると思われます。どんなアイデアが間違っているのでしょうか?
どのようにテストを行っていますか?コマンドラインで 'npm test'を – Akhil
とすると、オプションなしで' jest'を実行するためにpackage.jsonで定義されたコマンドです – Kimberly