Тестовый пример для узла js с sinon и chai - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь использовать sinon для выполнения модульного теста для одной из моих функций узла.

Ниже приведена фактическая функция.

import { replaceYears, getFinancialYears } from './utils/years/';

const replaceAssetFileName = () => {
  const years = getFinancialYears();    // return array of years [2019, 2018, 2017]
  for ( let i = 0; i < years.length; i++ ) {
    replaceYears( years[ i ], 'NEWNAME' ); // replace years just replace 2019 to FY19, don't ask why a function is written for this.
  }
return true;
};

Я хочу смоделировать функцию getFinancialYears, так что только для проверки функция может вернуть только один или два года вместо 100 лет.

Я пробовал нижеприведенный тестовый пример с sinon и chai.Но все же я вижу, что функция «getFinancialYears» выдает фактический список лет вместо подделок.

it( 'We can replace file names', () => {
    const stub = sinon.stub( util, 'getFinancialYears' ).callsFake(() => [ '2019' ]);
    expect( replaceAssetFileName()).to.be( true );
    stub.restore();
  }).timeout( 20000 );
...