测试时出现 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