Jest: 슀파이온 κΈ°λŠ₯

에 λ§Œλ“  2016λ…„ 09μ›” 20일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: facebook/jest

λ‚˜λŠ” λ†λ‹΄μœΌλ‘œ μ‚¬μš© 사둀에 따라 κ°€μž₯ 잘 μ ‘κ·Όν•˜λŠ” 방법을 μ•Œμ•„ λ‚΄λ €κ³  λ…Έλ ₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” κΈ°λŠ₯을 μ‘°λ‘±ν•˜κ³  싢지 μ•Šκ³  그것을 κ°μ‹œν•˜κ³  μ›λž˜ κ΅¬ν˜„μ΄ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. Postgres λ“œλΌμ΄λ²„μ—μ„œ 쿼리가 호좜된 횟수λ₯Ό μΆ”μ ν•˜κ³  μ‹Άλ‹€κ³  κ°€μ •ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. λ‹€μŒ μ ‘κ·Ό 방식이 μž‘λ™ν•©λ‹ˆλ‹€.

const querySpy = pg.Client.prototype.query = jest.fn(pg.Client.prototype.query);
expect(querySpy.mock.calls.length).toBe(2)

λ¬Έμ œλŠ” ν…ŒμŠ€νŠΈκ°€ 끝날 λ•Œ μ›λž˜ κ΅¬ν˜„μ„ ν• λ‹Ήν•΄μ•Ό λ™μΌν•œ 파일의 λ‹€λ₯Έ μ‚¬λžŒλ“€μ—κ²Œ 영ν–₯을 λ―ΈμΉ˜μ§€ μ•ŠλŠ”λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ ν•œ μ‚¬λžŒμ΄ μ΄λŸ¬ν•œ 정리λ₯Ό μžŠμ–΄λ²„λ¦¬λ©΄ ν…ŒμŠ€νŠΈ 격리λ₯Ό ν•΄μ œν•˜λŠ” 것이 κ°„λ‹¨ν•©λ‹ˆλ‹€.

λ‚˜λŠ” λ˜ν•œ jasmine이 spyOn을 가지고 μžˆλ‹€λŠ” 것을 μ•Œμ•„μ°¨λ ΈμŠ΅λ‹ˆλ‹€. 이 spyOn은 μš°μŠ€κ½μŠ€λŸ½κ²Œλ„ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€(λ¬Έμ„œν™”λ˜μ§€λŠ” μ•ŠμŒ). μ΄λŠ” 맀우 μš°μ•„ν•˜λ―€λ‘œ λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

const querySpy = spyOn(pg.Client.prototype, 'query').and.callThrough();
expect(querySpy.calls.count()).toEqual(3);

그리고 μž¬μŠ€λ―Όμ€ ν…ŒμŠ€νŠΈ ν›„ μžλ™μœΌλ‘œ 슀파이λ₯Ό μ œκ±°ν•œλ‹€κ³  μ£Όμž₯ν•˜λŠ”λ°, 정말 λŒ€λ‹¨ν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ 그것이 λ†λ‹΄μ˜ 곡식적인 일뢀가 될 것인지 ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ? λ¬Έμ œλŠ” 재슀민 μŠ€νŒŒμ΄κ°€ 농담을 ν•˜λŠ” 것과 λ‹€λ₯Έ μΈν„°νŽ˜μ΄μŠ€λ₯Ό 가지고 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ spyOn λ˜λŠ” 이와 μœ μ‚¬ν•œ 것을 μ‚¬μš©ν•˜μ—¬ μŠ€νŒŒμ΄μ— μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ λͺ¨μ˜ κΈ°λŠ₯을 ν™•μž₯ν•˜λŠ” 것이 κ°€μž₯ μ’‹μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  ν”Όλ“œλ°±μ„ ν™˜μ˜ν•©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것에 λŒ€ν•΄ μ •ν™•ν•˜μ§€ μ•Šμ„ 수 μžˆμ§€λ§Œ ν…ŒμŠ€νŠΈκ°€ 끝날 λ•Œ μ£Όμž₯ν•œ 'μžλ™ 볡원'을 μˆ˜ν–‰ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” μ μ—μ„œ expect.spyOn jasmines spyOn 와 λ‹€λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ? 이 κΈ°λŠ₯은 κ½€ κΉ”λ”ν•˜κ³  사양 νŒŒμΌμ„ μ •λ¦¬ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. #1679λ₯Ό 톡합할 λ•Œ μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ κΈ°λŠ₯을 μΆ”κ°€ν•  κ³„νšμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

λͺ¨λ“  3 λŒ“κΈ€

이것은 #1679의 μΌλΆ€λ‘œ μΆ”μ λ©λ‹ˆλ‹€.

이것에 λŒ€ν•΄ μ •ν™•ν•˜μ§€ μ•Šμ„ 수 μžˆμ§€λ§Œ ν…ŒμŠ€νŠΈκ°€ 끝날 λ•Œ μ£Όμž₯ν•œ 'μžλ™ 볡원'을 μˆ˜ν–‰ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” μ μ—μ„œ expect.spyOn jasmines spyOn 와 λ‹€λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ? 이 κΈ°λŠ₯은 κ½€ κΉ”λ”ν•˜κ³  사양 νŒŒμΌμ„ μ •λ¦¬ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. #1679λ₯Ό 톡합할 λ•Œ μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ κΈ°λŠ₯을 μΆ”κ°€ν•  κ³„νšμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

#2534도 μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰