не могу избавиться от модульного тестирования даты - javascript - PullRequest
0 голосов
/ 29 мая 2019

Я новичок в модульном тестировании и внедряю модульный тест для функции, которая возвращает дату.

const getLastHour = () => {
const date = new Date().getTime() - 3600000;
return date;
};

Я сделал что-то подобное, но это не сработало

describe('getLastHour', () => {
        const getLastHour = mobileArticleService.__get__('getLastHour');
        const getTime = sinon.stub(2019052906);
        const Date = sinon.stub({ getTime });

        before(() => {
            mobileArticleService.__set__({
                Date,
                getTime,
            });
        });

        it('should return date with hours ', () => {
            expect(Date).to.be.called;
            expect(getTime).to.be.called;
        });
    });

1 Ответ

0 голосов
/ 29 мая 2019

Вы на самом деле не используете Date в своей текущей реализации и не вызываете тестируемый модуль.Если вы пытаетесь выполнить модульное тестирование этой функции, заглушите зависимости.Модульные тесты фокусируются на входах и выходах одной единицы работы.

describe('My Test', function () {
  const dateStub;

  before('', function () {
    dateStub = sinon.stub(Date, 'getTime').returns(143434325325);
  });

  it('should return date with hours ', () => {
    const result = getLastHour();
    expect(dateStub).to.be.called;
  });
});
...