λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ‹œλ„/Code-States

[D+10] ν…ŒμŠ€νŠΈ 주도 개발

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2020. 9. 16.

 

 

μ˜€λŠ˜μ€ λ‚΄κ°€ 슀슀둜 문제λ₯Ό ν’€κ³  슀슀둜 ν•™μŠ΅ν•΄ λ‚˜κ°€λŠ” 과정을 μ§„ν–‰ν–ˆκΈ° λ•Œλ¬Έμ—

ν•΄λ‹Ή κ°œλ…μ— λŒ€ν•œ λ‚΄μš©μ„ λ‚΄κ°€ μ΄ν•΄ν•œ 만큼만 κ°„λž΅νžˆ μ μ–΄λ³ΌκΉŒ ν•œλ‹€.

 

 

D+10

-  Java Script ν…ŒμŠ€νŠΈ μ½”λ“œμ— λŒ€ν•΄μ„œ -

(Java Script Test Code)

 


 

 

expect( ν…ŒμŠ€νŠΈν•˜λŠ” κ°’ ).κΈ°λŒ€ν•˜λŠ” 쑰건

κΈ°μ‘΄μ—λŠ” 주어진 λ¬Έμ œμ— λŒ€ν•΄ λ‚΄κ°€ μ½”λ“œλ₯Ό μž‘μ„±ν•΄ 닡을 λ„μΆœν•΄ λ‚΄λŠ” 과정을 거쳐왔닀면

μ΄λ²ˆμ—λŠ” λ‚΄κ°€ 직접 문제λ₯Ό λ‚΄λŠ” μž…μž₯이 λ˜μ–΄ λ‚΄κ°€ μ›ν•˜λŠ” 값이 λ‚˜μ˜¬ 수 μžˆλ„λ‘ μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” μ‹œκ°„μ„ κ°€μ Έλ³΄μ•˜λ‹€.

 

ν•΄λ‹Ή 주제λ₯Ό μ§„ν–‰ν•˜κΈ° μœ„ν•΄μ„œ λ‚΄κ°€ κ°€μž₯ λ¨Όμ € μ•Œμ•„μ•Ό ν–ˆλ˜κ²ƒμ€ λ°”λ‘œ expect ν•¨μˆ˜μ˜€λ‹€.

 

expectλŠ” ν…ŒμŠ€νŠΈν•˜λŠ” 값을 λ„£μ–΄μ£Όλ©΄ κ·Έ 값에 λ§žλŠ” 쑰건을 λ‚΄κ°€ μž…λ ₯ν•΄ μ£ΌλŠ” ν•¨μˆ˜μ΄λ‹€.

 

expect('μ•ˆλ…•ν•˜μ„Έμš”').toBe('λ°˜κ°€μ›Œμš”');

μ΄λŸ°μ‹μœΌλ‘œ λ§Œμ•½ ν…ŒμŠ€νŠΈν•˜λŠ” 값이 'μ•ˆλ…•ν•˜μ„Έμš”'λΌλŠ” 값이 μž…λ ₯λ˜μ—ˆμ„κ²½μš° λ‚˜λŠ” 'λ°˜κ°€μ›Œμš”'λΌλŠ” 값을 λ‚΄λ³΄λ‚΄λΌλŠ” μ˜λ―Έμ΄λ‹€.

 

 

matcher

matcherλŠ” expectν•¨μˆ˜ μ˜†μ— λΆ™λŠ” 'κΈ°λŒ€ν•˜λŠ” 쑰건'을 μž…λ ₯ν•˜λŠ” 곳으둜 λ‹€μ–‘ν•œ matcher듀이 μ‘΄μž¬ν•œλ‹€.

 

jasmine.github.io/api/3.3/matchers.html

 

Namespace: matchers

expect the actual value to be equal to the expected, using deep equality comparison.

jasmine.github.io

toBe(  κ°’  ); // κ°’ 이어야 ν•œλ‹€.

toBeTruthy( ); // 참인 것이어야 ν•œλ‹€. (νŠΈλ£¨μ‹œν•˜λ‹€)

 

 

κΈ°λŒ€ν•˜λŠ” 쑰건

expect() ν•¨μˆ˜ μ•ˆμ— λ“€μ–΄κ°€λŠ” 'κΈ°λŒ€ν•˜λŠ” 쑰건'은 λ‹€μ–‘ν•œ ν˜•μ‹μœΌλ‘œ μ‘΄μž¬ν•  수 μžˆλ‹€.

 

μ•ˆμ— ν•¨μˆ˜λ₯Ό λ„£μ–΄ μ‹€ν–‰ν•˜κ±°λ‚˜ μ• μ΄ˆμ— 값을 μ•Œ 수 μžˆλ„λ‘ ν‘œν˜„ν•˜λŠ” 방법도 μžˆλ‹€.

 

 

λ³€μˆ˜01의 λ°°μ—΄κ³Ό λ³€μˆ˜02에 λ“€μ–΄μžˆλŠ” 배열은 같은 것인가?

μš°λ¦¬λŠ” 기쑴에 μƒκΉ€μƒˆκ°€ κ°™κ±°λ‚˜ 같은 값을 가진닀고 ν•΄μ„œ 무쑰건 κ°™λ‹€κ³  μ•Œμ•„μ™”λ‹€.

 

ν•˜μ§€λ§Œ 이번 기회둜 μš°λ¦¬λŠ” λ‹€λ₯Ό μˆ˜λ„ μžˆλ‹€λŠ” 것을 μ•Œμ•„κ°€μ•Ό ν•  것이닀.

 

let num1 = [1, 2, 3, 4, 5];

let num2 = [1, 2, 3, 4, 5];

μ—¬κΈ° 각각 λ™μΌν•œ 데이터λ₯Ό 가지고 μžˆλŠ” λ³€μˆ˜ 2κ°œκ°€ μžˆλ‹€.

 

κ·Έλ ‡λ‹€λ©΄ num1κ³Ό num2λŠ” 같은 κ²ƒμΌκΉŒ?

 

κ²°λ‘ λΆ€ν„° λ§ν•˜μžλ©΄ μ•„λ‹ˆλ‹€.

 

λ°°μ—΄, ν•¨μˆ˜, κ°μ²΄λŠ” Object이닀.

 

ObjectλŠ” 각 λ³„λ„μ˜ λ©”λͺ¨λ¦¬κ³΅κ°„에 값을 μ €μž₯ν•œλ‹€.

 

즉, 값이 같을지 λͺ°λΌλ„ 각자 가지고 μžˆλŠ” μ£Όμ†Œκ°€ λ‹€λ₯΄λ‹€λŠ” μ˜λ―Έμ΄λ‹€.

 

μ΄λ ‡κ²Œ 각자 λ‹€λ₯Έ μ£Όμ†Œλ₯Ό 가지고 μžˆλŠ” μ΄μœ λŠ” 값이 μΆ”κ°€λ˜κ±°λ‚˜ μ‚­μ œλ˜λŠ” 일이 μƒλ‹Ήνžˆ λŠ₯동적이기 떄문이닀.

 

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— 이 λ‘˜μ€ μƒκΉ€μƒˆλŠ” 같아도 각자 가지고 μžˆλŠ” μ£Όμ†Œ 값이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 같은 것이 μ•„λ‹ˆλ‹€.

 

let num1 = [1, 2, 3, 4, 5];

let num2 = num1;

ν•˜μ§€λ§Œ μ΄λŸ΄κ²½μš°μ—” κ°™λ‹€κ³  말할 수 μžˆμ„κΉŒ?

 

이와 같은 κ²½μš°λŠ” num2의 num1의 μ£Όμ†Œκ°’μ„ 집어 넣은 κ²ƒμ΄λ‚˜ λ§ˆμ°¬κ°€μ§€ 이기 λ•Œλ¬Έμ—

κ°™λ‹€κ³  ν•  수 μžˆλ‹€.

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€