2017-08-29 1 views
0

Ich versuche zu testen React-Komponente, die SASS mit Scherz importiert hat mit Schluck-Aufgabe. Das Problem hier ist, dass gulp-jest keine Modulnamen abbildet (so dass .scss-Dateien nicht übersprungen werden können) und der Test fehlschlägt (throws: "SyntaxError: Unexpected token *"). Ich habe keine Ahnung, warum es sich so verhält.gulp-jest gilt nicht config (moduleNameMapper um genau zu sein)

Das Seltsamste ist, dass funktioniert perfekt über "Npm Test" und Jest-CLI, aber nicht mit "Schluck-Test" aus irgendeinem Grund. Hier

ist die Komponente:

import React from 'react'; 
import '../../scss/App.scss'; 

export default class App extends React.Component { 
    render() { 
    return (
     <div className="main"> 
     <h1>Here we go!</h1> 
     </div> 
    ) 
    } 
} 

Hier ist der Test:

import React from 'react'; 
import App from '../src/js/components/App'; 

describe('App',() => { 
    test('should be a React component',() => { 
    let instance = App.prototype instanceof React.Component; 
    expect(instance).toBe(true); 
    }); 
}); 

Hier wird die gulpfile:

var gulp = require('gulp'); 
var jest = require('gulp-jest').default; 

gulp.task('test',() => { 
    process.env.NODE_ENV = 'test'; 
    return gulp.src('test') 
    .pipe(jest({ 
     config: { 
     "transformIgnorePatterns": [ 
      "<rootDir>/dist/", "<rootDir>/node_modules/" 
     ], 
     "automock": false, 
     "moduleNameMapper": { 
      "\\.scss$": "<rootDir>/jestignore.js" 
     } 
     } 
    })); 
}); 

jestignore.js im Stammverzeichnis nur exportiert leer Objekt.

Ich habe jest.config.js Datei exportieren die genauen Konfigurationen für npm Testbefehl (wollte nur, um es für Sie zu vereinfachen, indem Sie require(), um sich in der gulpfile zu konfigurieren).

Antwort

0

Es ist eine bekannte Schluck-Scherz Problem, wenn Sie Scherz 21: https://github.com/alansouzati/gulp-jest/issues/41 verwenden. Herabstufung auf Scherz 20 sollte helfen.

+0

Eigentlich habe ich V20 in diesem Projekt verwendet. Ich habe versucht, config in string zu konvertieren, aber es hat nicht geholfen. Hoffe, dieses Problem mit Schluck-Spaß hat Aufmerksamkeit mit v21 Release gezogen und wird bald behoben werden. –

+0

Wahr, die Übergabe von config als JSON-String an Jest-Gulp wird nicht helfen. Das Problem ist, dass jest-gulp die config-Konfiguration geändert hat, wenn man annimmt, dass es ein Objekt ist, das die Konfigurationszeichenfolge unterbricht. – SergeyS

Verwandte Themen