Page 486 - Nodejs 교과서 개정2판
P. 486
expect(res.send).toBeCalledWith('로그인 필요');
});
});
...
ݢ isLoggedInࠗఠ పझ೧ࠁѷणפ req res nextܳ ݽఊ೮णפ ೣࣻܳ ݽఊೡ ٸח jest.fn ݫࢲ
٘ܳ ࢎਊפ ೣࣻ ߈ജчਸ ೞҊ रݶ jest.fn(() => 반환값)ਸ ࢎਊೞݶ ؾפ isAuthentic
atedח ۽Ӓੋ ৈࠗܳ ঌ۰ח ೣࣻ۽ పझ ղਊী ٮۄ trueա falseܳ ߈ജೞҊ res.statusח res.
status(403).send('hello')ۢ ݫࢲ٘ оמ೧ঠ ೞ۽ resܳ ߈ജೞҊ णפ
पઁ۽ח reqա res ёী ݆ ࣘࢿҗ ݫࢲ٘о ٜয ѷ݅ Ә పझীࢲח isAuthen ticatedա stat
us send݅ ࢎਊೞ۽ աݠח җхೞѱ ઁ৻ೞݶ ؾפ
test ೣࣻ ղࠗীࢲח ݽఊػ ё৬ ೣࣻܳ ࢎਊ೧ isLoggedIn ٜਝযܳ ഐೠ റ FYQFDU۽ ਗೞח ղਊ
۽ प೯غח ೞݶ ؾפ toBeCalledTimes(숫자)ח ഛೞѱ ݻ ߣ ഐغחܳ ೞח ݫࢲ٘
Ҋ toBeCalledWith ੋࣻ ח ౠ ੋࣻ৬ ೣԋ ഐغחܳ ೞח ݫࢲ٘ੑפ
పझܳ ج۰ࠁݶ ݽف ాҗפ
콘솔
$ npm test
> nodebird@0.0.1 test C:\Users\zerocho\nodebird
> jest
PASS routes/middlewares.test.js
isLoggedIn
√ 로그인되어 있으면 isLoggedIn이 next를 호출해야 함 (3ms)
√ 로그인되어 있지 않으면 isLoggedIn이 에러를 응답해야 함 (2ms)
isNotLoggedIn
√ 로그인되어 있으면 isNotLoggedIn이 에러를 응답해야 함
√ 로그인되어 있지 않으면 isNotLoggedIn이 next를 호출해야 함 (1ms)
Test Suites: 1 passed, 1 total
Tests: 4 passed, 4 total
Snapshots: 0 total
Time: 2.689s
Ran all test suites.
ਗೞח Ѿҗо प೯غਵ۽ పझܳ ాҗפ ടೞ݅ ࢿೞ ঋ ف ѐ పझب ాҗפ
Ѫ పझܳ ೠҊ ೧ࢲ ী۞о হਸ ࠁೡ ࣻ হח ਬੑפ పझ ࢚ਸ ੜޅ ࢶೞѢա ੜޅػ
ߑधਵ۽ పझೠ ҃ীח పझܳ ࢿ೮؊ۄب ী۞о ߊࢤೡ ࣻ णפ పझܳ ৢ߄ܰѱ ࢿೞח