首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在茉莉花助手中调用Enzyme.configure

在茉莉花助手中调用Enzyme.configure
EN

Stack Overflow用户
提问于 2017-11-02 02:12:55
回答 1查看 353关注 0票数 4

我使用的酶与反应16通过卡玛,茉莉花和webpack。在配置beforeEach函数中的酶适配器时,我进行了测试:

代码语言:javascript
复制
import React from 'react';
import Enzyme, { shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

import App from 'app';

describe('App', () => {
  let wrapper;

  beforeEach(() => {
    Enzyme.configure({ adapter: new Adapter() });

    wrapper = shallow(<App />);
  });

  it('should render an h1 header', () => {
    expect(wrapper.type()).toBe('h1');
  });

  it('should render Hello, World!', () => {
    expect(wrapper.text()).toEqual('Hello, World!');
  });
});

一切都很好。

由于我不想在每次酶测试中都这样做,所以我尝试将该代码移到enzyme_helper.js文件中:

代码语言:javascript
复制
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

Enzyme.configure({ adapter: new Adapter() });

我已经将该文件添加到由Karma加载的文件列表中,并通过webpack构建它(因此我可以使用ES6格式)。我已经(通过一个console.log并通过调试器运行)验证了该助手是否被加载,但是当测试文件中的测试运行时,我得到:

Error: Enzyme Internal Error: Enzyme expects an adapter to be configured, but found none. To configure an adapter, you should call `Enzyme.configure({ adapter: new Adapter() })` before using any of Enzyme's top level APIs, where `Adapter` is the adapter corresponding to the library currently being tested. For example: import Adapter from 'enzyme-adapter-react-15'; To find out more about this, see http://airbnb.io/enzyme/docs/installation/index.html

有什么建议我可能做错了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 04:20:51

您不能在助手中配置它,但是您可以创建一个酶设置文件,该文件可以将所有的酶导出并在测试中而不是在酶中导入。

代码语言:javascript
复制
/* test/enzyme.js */

import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import jasmineEnzyme from 'jasmine-enzyme';

Enzyme.configure({adapter: new Adapter()});

// I also like to use this file to initialize jasmine-enzyme
beforeEach(() => {
    jasmineEnzyme();
});

export * from 'enzyme';

然后,在测试中,导入酶设置文件,而不是酶。

代码语言:javascript
复制
/* myModule.test.js */

import {shallow} from './test/enzyme';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47066498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档