具有样式化组件的酶-.html()使ThemeProvider失败

时间:2018-07-19 21:53:00

标签: jestjs enzyme styled-components

尝试使错误最严重的原因是,iv'e最近从scss(BEM)替换为样式组件,并尝试使所有测试再次变为绿色。

从jest-styled-components自己的文档中,我采用了此功能

const shallowWithTheme = (tree, theme) => {
  const context = shallow(<ThemeProvider theme={theme} />)
    .instance()
    .getChildContext()
  return shallow(tree, { context })
}

但是当我用它安装按钮组件并调用.html()时,出现以下错误......

// cannot read property 'radius' of undefined'

半径来自主题提供者的props.theme.borders.radius变量,这是我的测试。

describe("fake test", () => {
    it("should mount a button", () => {
        const test = shallowWithTheme(<Button variant={"primary"}/>, theme);
        expect(true).toEqual(true);
    });
});

寻找真正的,关于如何以非hacky方式解决此问题的想法,当我搜索Google时并没有真正出现

0 个答案:

没有答案