gpt4 book ai didi

javascript - 为什么我的 super 测试调用不会链式?

转载 作者:行者123 更新时间:2023-12-03 08:53:33 25 4
gpt4 key购买 nike

它永远不会命中内部调用,因此 done() 不会被调用,并且我的 Mocha 测试超时。这是为什么?

testUsers.forEach(function(loggedInUser) {
var describeStr;
if (loggedInUser && loggedInUser.username === 'a') {
describeStr = 'Tangos API (role: user)';
}
else if (loggedInUser && loggedInUser.username === 'admin') {
describeStr = 'Tangos API (role: admin)';
}
else {
describeStr = 'Tangos API (not logged in)';
}

describe(describeStr, function() {
var id;

beforeEach(function(done) {
if (!loggedInUser) {
return done();
}

agent
.post('/users')
.send(loggedInUser)
.end(function(err, res) {
console.log('err: ', err); // null
console.log('res.text: ', res.text); // correct
agent
.post('/tangos')
.send(testTango)
.end(function(err, result) {
console.log('inner'); // never hits here
if (err) {
return done(err);
}
return done(); // never hits here, so mocha tests time out
})
;
})
;
});

使用异步也不起作用:

async.series([
function() {
agent
.post('/users')
.send(loggedInUser)
.end(function(err, res) {
console.log('err: ', err); // null
console.log('res.text: ', res.text); // correct
})
;
}, function() {
agent
.post('/tangos')
.send(testTango)
.end(function(err, result) {
console.log('inner'); // never hits here
})
;
}
], done);

最佳答案

我发现这里有两个可能的问题。首先,您的异步系列缺少每个函数所需的回调。

async.series([
function(callback) {
agent
.post('/users')
.send(loggedInUser)
.end(function(err, res) {
console.log('err: ', err); // null
console.log('res.text: ', res.text); // correct
callback(); // Need to call the callback here.
})
;
}, function(callback) {
agent
.post('/tangos')
.send(testTango)
.end(function(err, result) {
console.log('inner'); // never hits here
callback(); // Need to call callback here too.
})
;
}
], done);

我用自己的端点运行了这个精确的测试,它工作得很好。

第一个代码片段看起来不错并且对我来说工作得很好。我敢说你在有机会完成之前就超时了。默认情况下,超时时间为 2000 毫秒。 2 次 API 调用不会在 2 秒内完成是有道理的。要增加超时时间,只需输入

this.timeout(5000);

在描述 block 中增加超时值。

关于javascript - 为什么我的 super 测试调用不会链式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com