2015-02-12 14 views
6

Tôi có trình kiểm tra và trình kiểm tra gulp tiêu chuẩn cho thiết lập Node.js/mocha của mình;Chỉ chạy một tệp thử nghiệm mocha khi thay đổi với gulp

gulp.task('mocha', function() { 
    process.env.NODE_ENV = 'test'; 

    return gulp.src(['./test/**/*.js'], {read: false}) 
    .pipe(mocha({ 
     recursive: true, 
     reporter: 'list', 
     ui: 'bdd' 
    })).on('error', gutil.log); 
}); 

gulp.task('tests', function() { 
    gulp.watch(sources.concat(tests), ['mocha']); 
}); 

Tôi tự hỏi làm thế nào để điều chỉnh nhiệm vụ đồng hồ của mình (và khác) để chỉ gửi cho mocha bài kiểm tra đã thay đổi - để tôi không phải đợi 20 giây cho hàng trăm bài kiểm tra để chạy .

Tôi đã thử điều này với fgulp-new và gulp-cached, nhưng không may mắn.

Tôi đang tìm vào đây để có câu trả lời hay cho một giả thuật toán cho một plugin ngụm sau đó tôi có thể viết cho mục đích này :)

+2

có lẽ bạn đã biết rằng nhưng bạn có thể thêm vào kiểm tra mocha bạn 'it.only() ' trên thử nghiệm mà bạn đang chỉnh sửa. Và khi gulp sẽ khởi chạy thử nghiệm của bạn. Chỉ cái này sẽ được thực hiện. – Sachacr

+0

Không biết điều này, cảm ơn! Điều này bao gồm một số những gì tôi cần. Nếu bạn đặt nó như một câu trả lời, tôi có thể chấp nhận nó. Nhưng tôi cũng cần một cái gì đó như 'describe.only()' – Zlatko

Trả lời

5

Bạn có thể sử dụng trong thử nghiệm mocha bạn it.only() để chạy chỉ có một bài kiểm tra

describe.only() có sẵn quá

+0

describe.only() nên là tốt khi làm việc trên một tính năng. – Zlatko

+0

Và quay lại một lúc sau câu hỏi, cũng mô tả.skip và it.skip rất hữu ích. – Zlatko

Các vấn đề liên quan