2016-02-13 33 views
7

Mam ten komponent:żartach: nie można odnaleźć modułu wymaganego wewnątrz modułu do testowania (ścieżka względna)

import React from 'react'; 
import VideoTag from './VideoTag'; 
import JWPlayer from './JWPlayer'; 

class VideoWrapper extends React.Component { 
//... component code 
} 

że na podstawie pewnej logiki renderuje inny składnik wewnątrz (VideoTag lub JWPlayer), ale gdy próbuję przetestować to w pliku żartach pojawia się błąd:

nie można odnaleźć modułu „./VideoTag”

trzy coponents są w tym samym katalogu, to dlaczego to faktycznie działa, kiedy transpile i zobaczyć go w akcji w przeglądarce, ale Wygląda na to żartem ma problemy rozwiązaniu takich ścieżek względnych, jest to plik JEST:

jest.dontMock('../src/shared/components/Video/VideoWrapper.jsx'); 

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

import VideoWrapper from '../src/shared/components/Video/VideoWrapper.jsx'; 

describe('VideoWrapper tests',() => { 
    it('Render JWPlayer',() => { 

     let vWrapper = TestUtils.renderIntoDocument(
     < VideoWrapper model={model} /> 
); 

    }); 
}); 

Błąd znajduje się na linii:

import VideoWrapper from '../src/shared/components/Video/VideoWrapper.jsx'; 

Jak mogę powiedzieć JEST jak obsługiwać ścieżek względnych?

Odpowiedz

9

Problemem nie było drogi, on szukał modułów tylko z rozszerzeniem .js, to działało po dodaniu .jsx w konfiguracji żartem:

"moduleFileExtensions": [ 
    "js", 
    "jsx" 
] 
1

Nie trzeba dodawać moduleFileExtensions w konfiguracja dla tych dwóch opcji, ponieważ jest użyty jako '' js ',' jsx ',' json ',' węzeł '] jako domyślne rozszerzenia plików. (Chyba że chcesz pominąć dowolną opcję)

Powiązane problemy