我在大多数中出现超时错误,但不是我运行zapier test
的所有时间都是{i}我是否添加--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);
});
});
错误:
错误:超出2000毫秒超时。对于异步测试和挂钩,请确保 “完成()”被称为;如果返回Promise,请确保它解析
尝试在this.timeout(5000);
之上添加const bundle
,但这表示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'
};
答案 0 :(得分:6)
我确实遭受了这个错误。该错误是由于测试框架通常不会超过2 seconds
。无论您在测试中执行什么操作,如果未使用以下内容处理,则会发生超时。在您的应用程序的package.json中,请在此示例中向mocha运行时(15 seconds
)添加超时。在测试时,请随意设置更高的超时。
"scripts": {
"test": "node node_modules/mocha/bin/mocha --recursive --timeout 15000"
},
正如其他受访者所说,最初要在代码中添加z.console.log(msg)
以查看您的请求发生了什么。
答案 1 :(得分:1)
对我有用的是运行带有附加参数的测试
zapier测试-t 15000
CLI版本为10.0.1