2016-08-01 2 views
0
- TypeError: Cannot read property 'addStyleRule' of undefined 
    at Object.<anonymous> (node_modules/plotly.js/build/plotcss.js:61:15) 
    at Object.<anonymous> (node_modules/plotly.js/src/plotly.js:30:1) 
    at Object.<anonymous> (node_modules/plotly.js/src/core.js:15:14) 
    at Object.<anonymous> (node_modules/plotly.js/lib/core.js:9:18) 
    at Object.<anonymous> (node_modules/plotly.js/lib/index.js:15:12) 

    at emitTwo (events.js:106:13) 
    at process.emit (events.js:191:7) 
    at process.nextTick (internal/child_process.js:719:12) 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

Мои реагировать проект использует plotly и испытывает проблемы с plotly при выполнении теста шутяPlotly ошибка при выполнении теста шутя для реакции

Мой тестовый код выглядит такой:

import React from 'react' 
import ReactDOM from 'react-dom' 
import TestUtils from 'react-addons-test-utils' 

import AppBar from "./index" 
import Navigation from "../navigation/" 

// Use real modules for testing. 
jest.unmock("./index") 
jest.unmock("./brand") 

describe("AppBar",() => { 
    let component = <AppBar /> 
    let element = TestUtils.renderIntoDocument(component) 
    let node = ReactDOM.findDOMNode(element) 

    it("renders the navigation to screen",() => { 
    let el = TestUtils.findRenderedComponentWithType(element, Navigation) 
    expect(el).toBeDefined() 
    }) 
}) 

I что насмешливое сюжетное отношение имеет какое-то отношение к addStyleRule неопределенной ошибки, но я не совсем приколол к тому, что нужно издеваться/развязать для этого конкретного случая использования внешней библиотеки.

ответ

0

Я закончил тем, что просто развязал библиотеку сюжета. ПРЕДУПРЕЖДЕНИЕ это делает ваш тест очень медленным, так как теперь он фактически выполняет рендеринг.

Бонус: переопределение реквизита компонент

import Plotly from 'plotly.js' 
    import MyComponent from "./index"; 

    // Use real modules for testing. 
    jest.unmock("plotly.js"); 
    jest.unmock("./index"); 

    describe("My component does something",() => { 
    let params = { 
     display: true 
    }; 

    let ComponentMock = class extends MyComponent { 
     constructor(props) { 
     super(props); 
     this.actions = { 
      myAction: null 
     } 
     } 
    }; 
    let el = <ComponentMock params={params}/> 
    }); 
Смежные вопросы