Sinon: `sinon.resetHistory ()` рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 8 рдордИ 2019  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sinonjs/sinon

рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ :

_рд╕рд┐рдирди@5.0.0_ рдХреЗ рдмрд╛рдж рд╕реЗ
рдЖрдк 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);
    });
  });
});

рд░рдирдХрд┐рдЯ рдбреЗрдореЛ

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

рджреВрд╕рд░рд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓:
""рдореЙрдбреНрдпреВрд▓ рдкрд░ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛: рд╕рднреА рд╕реНрдЯрдмреНрд╕ рдкрд░ \"рдХрд╣рд╛ рдЧрдпрд╛\" рд╕реНрдерд┐рддрд┐ рд╕рд╛рдлрд╝ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП: . [assert.isFalse] рд╕рдЪ рдХреЗ рдЭреВрдареЗ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж""

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕

Bug Medium Help wanted

рд╕рднреА 11 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд░рди рдХрд░рдиреЗ рдпреЛрдЧреНрдп

рдореИрдВ рдмрдЧ рдлрд┐рдХреНрд╕рд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛

@rpgeeganage рдХреГрдкрдпрд╛ рдХрд░реЗрдВ! рдпрд╣рд╛рдБ рд╣рдорд╛рд░реА рдЖрд░рдВрднрд┐рдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИ

рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ "рд╕реНрдЯрдм рдЗрдВрд╕реНрдЯреЗрдВрд╕" рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЕрдкрдирд╛ resetHistory() (рдФрд░ resetBehavior() рдФрд░ reset() ) рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реЛрдВ, рдкреВрд░реЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЛ рд╣рд┐рдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ред

@mcow рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? рд╕реНрдЯрдмреНрд╕ рдореЗрдВ рд╕рд┐рдиреЙрди рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 2 рдХреЗ рдмрд╛рдж рд╕реЗ рд╡реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ ред рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдкрд░рд┐рд╡рд░реНрдзрди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣рд╛рд▓ рдХреЗ рд╣реИрдВред

@ рдлреИрдЯреНрд╕реЛ83 ,
рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

@ fatso83 рд╕реНрдЯрдм рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╡рд╣ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред "рд╕реНрдЯрдм рдЗрдВрд╕реНрдЯреЗрдВрд╕" рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ , createStubInstance() рдХреЙрд▓ рдХрд╛ рдкрд░рд┐рдгрд╛рдо (рдЬреЛ рдШрдЯрд┐рдпрд╛ рд╢рдмреНрджрд╛рд╡рд▓реА рд╕рд┐рдиреЙрди рд╣реИ, рдЧрд▓рдд рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рджреЛрд╖ рди рджреЗрдВ)ред

@ рдлреИрдЯреНрд╕реЛ83 ,
рдореИрдВрдиреЗ sinon.resetHistory рдФрд░ sinon.createStubInstance рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЬреЛ рджреЗрдЦрд╛ рд╣реИ, sinon.createStubInstance sandbox рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди sinon.resetHistory рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ sandbox ред sinon.resetHistory рдореЗрдВ collection рд╣рдореЗрд╢рд╛ рдЦрд╛рд▓реА рд░рд╣рддрд╛ рд╣реИред рдореИрдВ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░реВрдБрдЧрд╛ред

@mcow рдЕрд╣рд╛, рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдордЭрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ _instance_ рдмрд┐рдЯ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ :) рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ @rpgeeganage рдбреАрдк рдбрд╛рдЗрд╡ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд▓реЗрдХрд░ рдЖрдПред

@ fatso83 , рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрди рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдП рдЧрдП рд╣реИрдВ?

рдЪрддреБрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреАрдЬреА

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕