Sinon: sinon.resetHistory () не сбрасывает историю

Созданный на 8 мая 2019  ·  11Комментарии  ·  Источник: sinonjs/sinon

Согласно документам :

[email protected]_
Вы можете сбросить историю всех заглушек с помощью sinon.resetHistory ()

Воспроизводить

const assert = require('chai').assert;
const sinon = require('sinon');

describe('resetHistory', function() {
  var num = null;


  beforeEach(function() {
    num = sinon.createStubInstance(Number);
  });
  afterEach(() => {
    // Restore the default sandbox here
    sinon.restore();
  });

  describe('called on individual stub method', function() {
    it('should clear "called" status on stub', function() {
      num.toFixed();
      assert.isTrue(num.toFixed.called);
      num.toFixed.resetHistory();
      assert.isFalse(num.toFixed.called);
    });
  });

  describe('called on module', function() {
    it('should clear "called" status on all stubs', function() {
      num.toFixed();
      assert.isTrue(num.toFixed.called);
      sinon.resetHistory();
      assert.isFalse(num.toFixed.called);
    });
  });
});

Демо RunKit

Фактические результаты

Второй тест не пройден:
"" вызванный модуль: должен очистить статус \ "вызываемого \" на всех заглушках: ❌. [assert.isFalse] Ожидается, что истина будет ложью ""

Ожидаемые результаты

Все тесты пройдены

Bug Medium Help wanted

Все 11 Комментарий

Я обновил проблему с содержимым zip-файла, а также добавил его как работающую демонстрацию RunKit , утверждая, что она работает.

Я хотел бы помочь с исправлением ошибок

@rpgeeganage Пожалуйста, сделайте это! Вот наше руководство по началу работы

Я понимаю, что этот комментарий больше похож на запрос функции, но было бы неплохо, если бы объект "заглушка" имел свои собственные методы resetHistory()resetBehavior() и reset() ), без необходимости использовать всю песочницу.

@mcow А ты пробовал? 😄 Заглушки имеют эти функции со 2-й версии Sinon . Дополнения в песочнице появились намного позже.

@ fatso83 ,
Большое спасибо. Я буду работать над этим.

Эта функция есть в методах- заглушках @ fatso83 . Объекты "заглушки" , являющиеся результатом вызова createStubInstance() (паршивая терминология sinon, не обвиняйте меня в недопонимании), не работают.

@ fatso83 ,
Я изучил реализацию sinon.resetHistory и sinon.createStubInstance .
Я заметил, что sinon.createStubInstance не использует реализацию из sandbox а sinon.resetHistory использует реализацию из sandbox . В sinon.resetHistory collection всегда пусто. Я буду копать глубоко.

@mcow Ага, это все объясняет. Я не заметил бит _instance_ :) Надеюсь, что @rpgeeganage deep dive

@ fatso83 , следует ли закрыть этот вопрос, поскольку изменения для него объединены в мастер?

ТГ для проницательных наблюдателей 😄

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

fearphage picture fearphage  ·  3Комментарии

brettz9 picture brettz9  ·  3Комментарии

stevenmusumeche picture stevenmusumeche  ·  3Комментарии

NathanHazout picture NathanHazout  ·  3Комментарии

ALeschinsky picture ALeschinsky  ·  4Комментарии