1

在我的 Rails 项目中,我使用了 react-rails gem,它执行以下操作:

window.React = React;

这非常方便,但是当我使用 Jest 运行单元测试时,全局不存在,并且我从包含我正在测试的组件的文件中收到一个错误,说 React 没有定义。

如果我使用在组件文件中定义 React

import React from 'react';

然后由于加载 React 两次而导致错误。

我应该如何在我的单元测试中定义一个全局React变量以便它们工作?

4

1 回答 1

0

在您的测试文件中,执行以下操作:

import React from 'react'

describe('something',() => {
  window.React = React
  // so when you require() your component, window.React is already set
  var MyComponent = require('MyComponent').default

  it('does something', () => {
    // do something
  })
})
于 2016-03-07T15:40:37.060 回答