Sinon: `sinon.resetHistory ()`๋Š” ๊ธฐ๋ก์„ ์žฌ์„ค์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 05์›” 08์ผ  ยท  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 ๋ฐ๋ชจ

์‹ค์ œ ๊ฒฐ๊ณผ

๋‘ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ ์‹คํŒจ :
""called on module : ๋ชจ๋“  ์Šคํ…์—์„œ \ "called \"์ƒํƒœ๋ฅผ ์ง€์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค. โŒ. [assert.isFalse] true๊ฐ€ false ์—ฌ์•ผํ•ฉ๋‹ˆ๋‹ค. ""

์˜ˆ์ƒ ๊ฒฐ๊ณผ

๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ†ต๊ณผ

Bug Medium Help wanted

๋ชจ๋“  11 ๋Œ“๊ธ€

zip ํŒŒ์ผ์˜ ๋‚ด์šฉ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ RunKit ๋ฐ๋ชจ ๋กœ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž‘๋™ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ ์ˆ˜์ •์„ ๋•๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค

@rpgeeganage ์ œ๋ฐœํ•˜์„ธ์š”! ์‹œ์ž‘ ๊ฐ€์ด๋“œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด ์ฃผ์„์ด ๊ธฐ๋Šฅ ์š”์ฒญ์— ๋” ๊ฐ€๊น๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ "stub instance"๊ฐœ์ฒด์— ์ž์ฒด resetHistory() (๋ฐ resetBehavior() ๋ฐ reset() ) ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ƒŒ๋“œ ๋ฐ•์Šค ์ „์ฒด๋ฅผ ์น˜์ง€ ์•Š์•„๋„๋ฉ๋‹ˆ๋‹ค.

@mcow ์‹œ๋„ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ? ๐Ÿ˜„ ์Šคํ…์€ Sinon ๋ฒ„์ „ 2๋ถ€ํ„ฐ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ ์„

@ fatso83 ,
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ž‘์—… ํ• ๊ฒŒ.

@ fatso83 ์Šคํ… ๋ฉ”์„œ๋“œ ์—๋Š” ํ•ด๋‹น ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. "Stub instance"๊ฐ์ฒด , createStubInstance() ํ˜ธ์ถœ์˜ ๊ฒฐ๊ณผ (๋ถˆ๋ช…ํ™• ํ•œ ์šฉ์–ด๋Š” sinon, ์ž˜๋ชป๋œ ์˜์‚ฌ ์†Œํ†ต์— ๋Œ€ํ•ด ๋‚˜๋ฅผ ๋น„๋‚œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค).

@ fatso83 ,
sinon.resetHistory ๋ฐ sinon.createStubInstance .
๋‚ด๊ฐ€ ์•Œ์•„ ์ฐจ๋ฆฐ ๊ฒƒ์€ sinon.createStubInstance ๋Š” sandbox ์˜ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ sinon.resetHistory ๋Š” sandbox ์˜ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. sinon.resetHistory ์—์„œ collection ๋Š” ํ•ญ์ƒ ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊นŠ์ด ํŒŒํ—ค์น  ๊ฒƒ์ด๋‹ค.

@mcow Aha, ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” _instance_ ๋น„ํŠธ๋ฅผ ์•Œ์•„ ์ฐจ๋ฆฌ์ง€ ๋ชปํ–ˆ๋‹ค. :) ๋ฐ”๋ผ๊ฑด๋Œ€

@ fatso83 , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋งˆ์Šคํ„ฐ์— ๋ณ‘ํ•ฉ

๊ธฐ๋ฏผํ•œ ๊ด€์ฐฐ์ž๋ฅผ์œ„ํ•œ TG ๐Ÿ˜„

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰