์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ, ํ๋ฅญํ ๋์๊ด์
๋๋ค. ์คํ์ด ๊ด๋ จ ๊ธฐ๋ฅ์ ์์ฒญํ๊ณ ์ถ์ต๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ calledWithExactly
๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์ด๊ฐ ์์๋๋ก ์ ํํ๊ฒ ํธ์ถ๋๋์ง ํ์ธํ๊ณ ์ถ์ ๊ฒ์
๋๋ค. ๋ํ calledOnce
๋ฅผ ์ฌ์ฉํ์ฌ ์ด๊ฒ์ด ํ ๋ฒ๋ง ๋ฐ์ํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค. ๋ฌผ๋ก ์ง๊ธ ๋น์ฅ์ ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง (๋ถ๋ถ ์ผ์น์ ๋น๊ตํ์ฌ) ๊ธฐ๋ณธ ์ด์ค์
์ด์ด์ผ ํ๋ฏ๋ก onceCalledWithExactly
๋๋ calledOnceWithExactly
์ ๊ฐ์ ๊ฒฐํฉ๋ ๋ฉ์๋๋ฅผ ๋์
ํ์ฌ ์์ฉ๊ตฌ๋ฅผ ์ค์ผ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค. ์ด๋ป๊ฒ ์๊ฐํด?
sinon-chai
์ฌ์ฉํ์ฌ ์ด ...
expect(mySpy).calledOnce.and.calledWithExactly(expectedValue);
๋ค์์ผ๋ก ๋์ฒดํ ์ ์์ต๋๋ค.
expect(mySpy).calledOnceWithExactly(expectedValue);
์ด ์์ฒญ์ ๋ ๋ฒ์งธ๋ก ํ๊ณ ์ถ์ต๋๋ค. ์ฐ๋ฆฌ ํ์ calledOnce
์ calledWithExactly
์์ฃผ ์ฌ์ฉํ๋ฉฐ ์ด๋ฅผ ํ๋์ ๋ฐฉ๋ฒ์ผ๋ก ํตํฉํ๋ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ํํฉ๋๋ค.
์ด ๋ฌธ์ ๋ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. ๋ ์ด์ ํ๋์ด ์์ผ๋ฉด ํ์๋ฉ๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๊ทธ๋ฐ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ด ์ ์๊ฒ๋ ๋งค์ฐ ๋๋์ต๋๋ค. ๋๋ ์ค์ ๋ก calledWithExactly
๊ฐ ๋จ 1๋ฒ์ ํธ์ถ์ด ์๋ค๊ณ ์ฃผ์ฅํ๋ค๊ณ ์๊ฐํ์ต๋๋ค. ์ง๊ธ ์์
ํ๊ฒ ์ต๋๋ค.
์ฐธ๊ณ ๋ก: ๋ฐฉ๊ธ ๋ณํฉ๋์์ต๋๋ค. :)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฐธ๊ณ ๋ก: ๋ฐฉ๊ธ ๋ณํฉ๋์์ต๋๋ค. :)