测试时出现 Zapier 超时错误
Zapier timeout error on test
我在 大多数 中遇到超时错误,但并非所有时间我 运行 zapier test
无论我是否添加 --debug
,这里是我的代码:
require('should');
const zapier = require('zapier-platform-core');
// Use this to make test calls into your app:
const App = require('../index');
const appTester = zapier.createAppTester(App);
describe('Zapier - ON24 CLI Auth App', () => {
it('should have Access Tokens pass the authentication from ON24 APIs', (done) => {
const bundle = {
authData:{
accessTokenKey: 'abc',
accessTokenSecret: 'def',
client_id: '123'
}
};
appTester(App.authentication.test, bundle)
.then((response) => {
response.status.should.eql(200);
done();
})
.catch(done);
});
});
错误:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure
"done()" is called; if returning a Promise, ensure it resolves
尝试在 const bundle
上方添加 this.timeout(5000);
,但这表示 timeout
不是函数。
更新 - 测试模块:
const testAuth = (z, bundle) => {
return z.request({
url: `https://wccqa.on24.com/wcc/api/v2/client/${bundle.authData.client_id}/languages`
}).then((response) => {
if(response.status === 401){
throw new Error('The API Keys provided are invalid');
}
return response;
});
};
module.exports = {
type: 'custom',
fields: [
{
key: 'accessTokenKey', label: 'Access Token Key', required: true, type: 'string'
},
{
key: 'accessTokenSecret', label: 'Access Token Secret', required: true, type: 'string'
},
{
key: 'client_id', label: 'Client Id', required: true, type: 'string'
}
],
test: testAuth,
connectionLabel: 'testAuth connectionLabel'
};
我确实深受这个错误的困扰。该错误是由于测试框架通常不会等待超过 2 seconds
。无论您在测试中做什么,如果不使用类似下面的方法处理,就会发生超时。在您的应用程序 package.json 中,请在此示例中为 mocha 运行时 (15 seconds
) 添加超时。请在测试时随意设置更高的超时时间。
"scripts": {
"test": "node node_modules/mocha/bin/mocha --recursive --timeout 15000"
},
正如其他受访者所说,最初将 z.console.log(msg)
添加到您的代码中,以查看您的请求发生了什么。
对我有用的是 运行 使用附加参数进行测试
zapier 测试-t 15000
CLI 版本为 10.0.1
我在 大多数 中遇到超时错误,但并非所有时间我 运行 zapier test
无论我是否添加 --debug
,这里是我的代码:
require('should');
const zapier = require('zapier-platform-core');
// Use this to make test calls into your app:
const App = require('../index');
const appTester = zapier.createAppTester(App);
describe('Zapier - ON24 CLI Auth App', () => {
it('should have Access Tokens pass the authentication from ON24 APIs', (done) => {
const bundle = {
authData:{
accessTokenKey: 'abc',
accessTokenSecret: 'def',
client_id: '123'
}
};
appTester(App.authentication.test, bundle)
.then((response) => {
response.status.should.eql(200);
done();
})
.catch(done);
});
});
错误:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves
尝试在 const bundle
上方添加 this.timeout(5000);
,但这表示 timeout
不是函数。
更新 - 测试模块:
const testAuth = (z, bundle) => {
return z.request({
url: `https://wccqa.on24.com/wcc/api/v2/client/${bundle.authData.client_id}/languages`
}).then((response) => {
if(response.status === 401){
throw new Error('The API Keys provided are invalid');
}
return response;
});
};
module.exports = {
type: 'custom',
fields: [
{
key: 'accessTokenKey', label: 'Access Token Key', required: true, type: 'string'
},
{
key: 'accessTokenSecret', label: 'Access Token Secret', required: true, type: 'string'
},
{
key: 'client_id', label: 'Client Id', required: true, type: 'string'
}
],
test: testAuth,
connectionLabel: 'testAuth connectionLabel'
};
我确实深受这个错误的困扰。该错误是由于测试框架通常不会等待超过 2 seconds
。无论您在测试中做什么,如果不使用类似下面的方法处理,就会发生超时。在您的应用程序 package.json 中,请在此示例中为 mocha 运行时 (15 seconds
) 添加超时。请在测试时随意设置更高的超时时间。
"scripts": {
"test": "node node_modules/mocha/bin/mocha --recursive --timeout 15000"
},
正如其他受访者所说,最初将 z.console.log(msg)
添加到您的代码中,以查看您的请求发生了什么。
对我有用的是 运行 使用附加参数进行测试
zapier 测试-t 15000
CLI 版本为 10.0.1