Jest JS-tests bekijken en opnieuw uitvoeren

De Jestdocumentatie suggereert het gebruik van npm testom tests uit te voeren.

Is er een manier om je bron en tests te bekijken om Jest-tests automatisch opnieuw uit te voeren wanneer relevante bestanden zijn gewijzigd?


Antwoord 1, autoriteit 100%

Dankzij Erin Stanfill voor het wijzen op, heeft Jest al ondersteuning voor automatisch opnieuw uitgevoerd. De betere configuratie voor package.jsonzou zijn

{
  "scripts": {
    "test": "jest"
  }
}

Gebruik gewoon

. om de horlogemodus in te schakelen

$ npm run test -- --watch

Of

$ yarn run test --watch

Antwoord 2, autoriteit 24%

Als je npm testhebt geconfigureerd, kun je gewoon npm test -- --watchuitvoeren.


Antwoord 3, autoriteit 2%

Begin met testen in de horlogemodus.

jest --watch fileName.test.js

Volgens documentatie

Voer tests uit die overeenkomen met deze specificatienaam (kom in principe overeen met de naam in describeof test).

jest -t name-of-spec
// or in watch mode
jest --watch -t="TestName"

Antwoord 4

Dit voorbeeldlaat zien hoe je gulp gebruikt om je Jest-tests uit te voeren met jest-cli, evenals een tddsloktaak om bestanden te bekijken en Jest-tests opnieuw uit te voeren wanneer een bestand verandert:

var gulp = require('gulp');
var jest = require('jest-cli');
var jestConfig = {
    rootDir: 'source'
};
gulp.task('test', function(done) {
    jest.runCLI({ config : jestConfig }, ".", function() {
        done();
    });
});
gulp.task('tdd', function(done) {
    gulp.watch([ jestConfig.rootDir + "/**/*.js" ], [ 'test' ]);
});
gulp.task('default', function() {
    // place code for your default task here
});

Antwoord 5

  1. installeer een paar Grunt-pakketten:

    npm install grunt-contrib-watch grunt-exec --save-dev
    
  2. maak een Gruntfile.jsmet het volgende:

    module.exports = function(grunt) {
        grunt.initConfig({
            exec: {
                jest: 'node node_modules/jest-cli/bin/jest'
            },
            watch: {
                files: ['**/*.js'],
                tasks: ['exec:jest']
            }
        });
        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-exec');
    }
    
  3. voer dan gewoon uit:

    grunt watch
    

Antwoord 6

Als aanvulling kunt u “–watchAll” toevoegen
in uw package.json-bestand als volgt:

"scripts": {       
  "test": "jest --watchAll"
},

Elke keer dat u de npm-test uitvoert, wordt de horlogemodus standaard ingeschakeld.

Voor meer informatie npm CLI-documenten


Antwoord 7

Als u een enkel bestandin de weergavemodus wilt uitvoeren:

yarn run test --watch FileName.test.jsx

Antwoord 8

Ik gebruik persoonlijk het npm-pakket jest-watch-typeahead.

U moet 3 stappen uitvoeren:

  1. Installeer npm-pakket:

npm install –save-dev jest jest-watch-typeahead

  1. Voeg toe aan jest.config.js volgende code:
module.exports = {
  watchPlugins: [
    'jest-watch-typeahead/filename',
    'jest-watch-typeahead/testname',
  ],
};
  1. Voer Jest uit in horlogemodus

garen grap –watch

Other episodes