Тайм-аут теста - PullRequest
       17

Тайм-аут теста

0 голосов
/ 02 января 2019

Я пытаюсь выполнить соглашение ключа Диффи-Хеллмана:

Test.test('testDh', (t) => {
  const k1 = createSelfKey();
  const k2 = createSelfKey(k1.dh.getPrime(), k1.dh.getGenerator());

  const k1Secret = k1.dh.computeSecret(k2.keys);
  const k2Secret = k2.dh.computeSecret(k1.keys);

  t.equal(k1Secret.toString('hex'), k2Secret.toString('hex'));
  t.end();
});

Используя следующую функцию:

const createSelfKey = (p, g) => {
  let returnVal = null;
  if (_.isNumber(p) && _.isNumber(g)) {
    returnVal = { dh: crypto.createDiffieHellman(p, g) };
  } else {
    returnVal = { dh: crypto.createDiffieHellman(2048) };
  }
  returnVal.keys = returnVal.dh.generateKeys();
  return returnVal;
};

Но по какой-то причине время теста истекло.Знаете ли вы, как я могу увеличить лимит для тайм-аута?

test/keygenTests.js ................................... 1/2 31s
  not ok timeout!
    expired: test/keygenTests.js

test/participantTest.js ............................... 1/1
total ................................................. 2/3


  2 passing (31s)
  1 failing

npm ERR! Test failed.  See above for more details.

1 Ответ

0 голосов
/ 02 января 2019

Вы можете сделать тесты не по таймауту, изменив ваш скрипт package.json следующим образом:

 "scripts": {
    //Other scripts do there
    "test": "tap --no-timeout test/*.js",
  },

Как вы можете видеть, вы можете передать параметр --no-timeout, чтобы ваш тест не прерывалсявообще полезен при тестировании вычислительно-насыщенного кода.

...