2017-11-09 1 views
0

In der create-react-app Voreinstellung hat es sowohl Server- als auch Client-Code mit der gleichen package.json Datei. Ich hätte gerne drei separate jest-Konfigurationen: Client-Unit-Tests, Server-Unit-Tests und Server-Integrationstests. Leider konnte ich das nicht zur Arbeit bringen. Mein Plan war, yarn run Befehle für jede Option zu haben und dann die Config zu geben, die mit der --config CLI Option scherzt. Aber dann lief ich in this roadblock, was auf beiden v20 und v21 passiert und zeigt keinen Fortschritt. Grundsätzlich berichten Leute Probleme mit dem Lesen von Config-Dateien mit --config und der Fallback ist, die Config package.json zu verwenden. Leider können Sie nur eine einzige Konfigurationsdatei angeben.Wie konfigurierst du mehrere jest configs in einem einzigen Projekt?

Hat jemand geschafft, dies zu arbeiten und wenn ja, können Sie Ihre Einrichtung beschreiben (die Version von Scherz, etc). Ich frage mich, ob ich auf V19 downgraden muss. Oder bin ich nur falsch?

Antwort

2

fand ich den zugehörigen Testcode im Scherz: https://github.com/facebook/jest/blob/master/integration_tests/tests/multi_project_runner.test.js

Offenbar das aufstrebende Merkmal Scherz ist die --projects Option. Sie können in Ihrer package.json Datei so etwas tun:

"jest": { 
    "projects": [ 
    "src/client/jest.config.js", 
    "src/server/unit.jest.config.js", 
    "src/server/int.jest.config.js", 
    ] 
} 

Und dann in src/client/jest.config.js können Sie eine bestimmte Konfiguration definieren:

module.exports = { 
    name: 'client', 
    displayName: 'client', 

    // NOTE: if you don't set this correctly then when you reference 
    // it later in a path string you'll get a confusing error message. 
    // It says something like' Module <rootDir>/config/polyfills.js in 
    // the setupFiles option was not found.' 
    rootDir: './../../', 

    testMatch: [ 
    "<rootDir>/src/server/**/__tests__/*.unit.{js,jsx}", 
    "<rootDir>/src/server/**/__tests__/unit/*.{js,jsx}" 
    ], 

    // etc... 
}; 

Hier ist der Beitrag der Beschreibung der Funktion: https://facebook.github.io/jest/blog/2017/05/06/jest-20-delightful-testing-multi-project-runner.html

Verwandte Themen