Npm 观察并重新运行Jest JS测试
文档建议使用Npm 观察并重新运行Jest JS测试,npm,jestjs,Npm,Jestjs,文档建议使用npm test执行测试 是否有一种方法可以监视源代码和测试,以便在相关文件发生更改时自动重新运行Jest测试 安装几个Grunt软件包: npm install grunt-contrib-watch grunt-exec --save-dev 使用以下内容制作grunfile.js: module.exports = function(grunt) { grunt.initConfig({ exec: { jest: 'node
npm test
执行测试
是否有一种方法可以监视源代码和测试,以便在相关文件发生更改时自动重新运行Jest测试
npm install grunt-contrib-watch grunt-exec --save-dev
grunfile.js
:
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');
}
grunt watch
感谢Erin Stanfill的指出,Jest已经得到了对的支持。
package.json
的更好配置是
{
“脚本”:{
“测试”:“开玩笑”
}
}
要打开手表模式,只需使用
$npm运行测试--watch
或
$纱线运行测试--观察
演示如何使用gulp运行Jest测试,使用Jest cli
,以及tdd
gulp任务查看文件,并在文件更改时重新运行Jest测试:
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
});
如果您配置了
npm测试
,您可以运行npm测试--watch
在watch模式下启动测试
jest --watch fileName.test.js
根据文件
运行与此规范名称匹配的测试(基本上与description
或test
中的名称匹配)
如果要在监视模式下运行单个文件:
yarn run test --watch FileName.test.jsx
需要指出的重要一点是,如果在测试运行期间发生更改,nodemon将中断测试并重新启动<代码>grunt watch不会,它将继续当前测试运行,忽略测试运行时发生的更改。删除第一个答案可能是更好的编辑方式?这个编辑对我来说非常有用,而且乍一看,两者都很难理解。我有一个名为string.utility.spec.js的文件,当我执行“npm run test”时,它会被选中,但当我运行“npm run test--watch”时,它不会被选中。将文件重命名为“string.spec.js”将导致它被拾取并运行。奇怪。@VishalAnand npm将把--后面的所有参数直接传递给脚本。watch也可以添加到“scripts”:{“test”:“jest--watch”},然后出于某种原因,您可以只使用npm run test,尽管我使用了默认的
\uuuuuu tests\uuuu
文件夹,但它不适用于此jestConfig
。在阅读并播放了一段之后,这对我很有用:var jestConfig={rootDir:“\uu测试”}
yarn run test --watch FileName.test.jsx