2017-11-16 6 views
0

재단을 CSS 프레임 워크로 사용하는 반응 애플리케이션을 테스트하는 데 문제가있었습니다. 이 프로젝트의 스타터 키트로 "create-react-app"를 사용했습니다.파운데이션 사이트 및 jQuery를 가져올 때 효소 테스트가 실패했습니다

//Tried 
var $ = require('jquery') 
window.$ = $; 
window.jQuery = $; 
class MyComponent extends Component { 
    componentDidMount() { 
    window.$(document).foundation(); 
    } 
.... 
} 

MyComponent.js

import React, { Component } from 'react' 
import $ from 'jquery' 

class MyComponent extends Component { 
    componentDidMount() { 
     $(document).foundation() 
    } 
    ........ 
    ....... 
    render() { 
    return (
     ............ 
    ) 
    } 
} 
export default MyComponent 

MyComponent.test.js

Error I've been receiving in the Console

답변

0

import React from 'react' 
import { mount } from 'enzyme' 
import toJson from 'enzyme-to-json' 
import MyComponent from '../MyComponent' 

test('Renders MyComponent',() => { 
    const MyComponent = mount(<RoomContainer/>) 
    expect(toJson(MyComponent)).toMatchSnapshot() 
}); 
당신은 재단을 가져 잊어 버렸습니다. 사이트에 대한 기초 ≤6은 jQuery에 종속되므로 jQuery를 Foundation 전에 가져와야합니다. 앱과 테스트에서.

+0

어디서 가져올 수 있습니까? 그럼에도 불구하고 나는 이미 index.js 파일에 기초를 가져 왔으므로 프로젝트의 모든 소스 파일을 가져올 필요가 없습니다. 프로젝트가 잘 작동하고 있습니다. 테스트가 실패했습니다. –

+0

.foundation은 Foundation이 jQuery보다 먼저 가져 왔음을 나타내는 메서드가 아니며, 즉 종속성 순서 문제입니다. 나는 React에 대한 전문가가 아니다. Jest는 include가 포함 된 index.js 파일을 알고 있었습니까? 그 파일에서 jQuery 가져 오기도 시도 했습니까? –