从 gulp 变为 运行 时,Mocha 测试失败
Mocha tests fail when being run from gulp
我已经为我的应用程序的服务级别 类 开发了一套测试,并且在 mocha 中 运行 时所有测试都通过了,即:
摩卡testfile.js
然而,当我从 gulp 运行 它们时,我在其中一个文件中的每个测试中都收到超时错误:
1) 预订服务应创建预订:
错误:超时超过 2000 毫秒。确保在此测试中调用了 done() 回调。
2) 预订服务应取消预订:
错误:超时超过 2000 毫秒。确保在此测试中调用了 done() 回调。
... 每次测试依此类推
我的 gulp 文件如下所示:
var serviceTests = [
'./test/block-service-test.js',
'./test/booking-service-test.js',
'./test/location-service-test.js',
'./test/logging-service-test.js'
];
gulp.task('serviceTests', function(){
gulp.src(serviceTests)
.pipe(mocha())
.on('end', function() { console.log('>>Finished Running Tests'); })
.pipe(exit());
});
我唯一能想到的是失败的测试是通过 mongoose 连接到数据库。这是设置示例和其中一项测试:
process.env.MONGOLAB_URI = 'mongodb://localhost:27017/TestDB';
process.env.IN_TEST = true;
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
mongoose.connect(process.env.MONGOLAB_URI);
describe("booking service", function() {
var start = moment(new Date());
var end = moment(start).add(2, 'h');
var tutorId = "SomeTutorId";
var userId = "SomeUserId";
it("should create booking", function(done){
return bookingService.createBooking(tutorId, userId, start, end, "123 Anywhere St", "Test", "User", "Tutor", "LastName")
.then(function(booking){
assert.notEqual(booking, null);
done();
}).catch(function(err){
console.log(err);
assert.fail();
done();
});
});
});
知道为什么他们可以使用 mocha 而不是 gulp 吗?
编写了一项关闭数据库连接的测试。猫鼬不会给出 "closed connection" 错误,而是超时。
我已经为我的应用程序的服务级别 类 开发了一套测试,并且在 mocha 中 运行 时所有测试都通过了,即:
摩卡testfile.js
然而,当我从 gulp 运行 它们时,我在其中一个文件中的每个测试中都收到超时错误:
1) 预订服务应创建预订: 错误:超时超过 2000 毫秒。确保在此测试中调用了 done() 回调。
2) 预订服务应取消预订: 错误:超时超过 2000 毫秒。确保在此测试中调用了 done() 回调。
... 每次测试依此类推
我的 gulp 文件如下所示:
var serviceTests = [
'./test/block-service-test.js',
'./test/booking-service-test.js',
'./test/location-service-test.js',
'./test/logging-service-test.js'
];
gulp.task('serviceTests', function(){
gulp.src(serviceTests)
.pipe(mocha())
.on('end', function() { console.log('>>Finished Running Tests'); })
.pipe(exit());
});
我唯一能想到的是失败的测试是通过 mongoose 连接到数据库。这是设置示例和其中一项测试:
process.env.MONGOLAB_URI = 'mongodb://localhost:27017/TestDB';
process.env.IN_TEST = true;
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');
mongoose.connect(process.env.MONGOLAB_URI);
describe("booking service", function() {
var start = moment(new Date());
var end = moment(start).add(2, 'h');
var tutorId = "SomeTutorId";
var userId = "SomeUserId";
it("should create booking", function(done){
return bookingService.createBooking(tutorId, userId, start, end, "123 Anywhere St", "Test", "User", "Tutor", "LastName")
.then(function(booking){
assert.notEqual(booking, null);
done();
}).catch(function(err){
console.log(err);
assert.fail();
done();
});
});
});
知道为什么他们可以使用 mocha 而不是 gulp 吗?
编写了一项关闭数据库连接的测试。猫鼬不会给出 "closed connection" 错误,而是超时。