2015-11-04 16 views
6

Mam problemy z konfigurowaniem konfiguracji testowej za pomocą aplikacji Karma + Browserify w przypadku niektórych komponentów React. Wzmianka o kodzie jest napisana w ES6 i zaktualizowałem ją do najnowszej wersji Babel (6+), która, jak zakładam, jest źródłem wszelkiego zła w tej konfiguracji.Konfigurowanie programu Karma za pomocą funkcji Browserify w celu przetestowania komponentów React (ES6)

Ponieważ Babel jest teraz podzielony i ma to podejście oparte na wtyczkach (presety), nie jestem pewien, jak powinienem to określić w pliku karma.conf.

Mój obecny config wygląda następująco:

module.exports = function(config) { 
    config.set({ 
    basePath: '', 
    browsers: ['PhantomJS'], 
    frameworks: ['browserify', 'jasmine'], 
    files: [ 
     'app/js/**/*', 
     'app/__tests__/**/*' 
    ], 
    preprocessors: { 
     'app/js/**/*': ['browserify'], 
     'app/__tests__/**/*': ['browserify'] 
    }, 
    browserify: { 
     debug: true, 
     transform: ['babelify'] 
    }, 
    singleRun: true 
    }); 
}; 

Jednak to nie z błędu Bundle (Nieoczekiwany token podczas parsowania pliku ...). Otrzymuję również komunikat o błędzie You need to include some adapter that implements __karma__.start method!.

Zabawne, że tak się dzieje w przypadku bardzo prostych elementów.

Np prosty React plik:

import React from 'react'; 


class FooterComponent extends React.Component { 
    render() { 
    return (
     <footer> 
     This is the application's footer 
     </footer> 
    ); 
    } 
} 


export default FooterComponent; 

a plik testu nie nawet zaimportować. To tylko zawsze przechodząc testy jak:

describe('Testing `Footer` component.',() => { 

    describe('Method: none', function() { 
    it('Should be a passing test', function() { 
     expect(true).toBe(true); 
    }); 
    }); 

}); 

Babel/Browserify związanych pakietów w package.json są:

{ 
    "babel-preset-es2015": "^6.0.15", 
    "babel-preset-react": "^6.0.15", 
    "babelify": "^7.2.0", 
    "browserify": "^12.0.1", 
} 

Wszelkie pomysły są mile widziane. Zwłaszcza, że ​​działało to przed aktualizacją do Babel 6+.

Pozdrawiam!

Odpowiedz

7

Dodaj .babelrc plik do katalogu głównego:

{ 
    presets: ['es2015', 'react'] 
} 
+0

to rozwiązać mój błąd podczas uruchamiania testów karmy i jaśminu: ParseError: „przywóz” i „wywóz” może pojawić się tylko z „sourceType: moduł” –

Powiązane problemy