21๋
12์ 13์ผ
๐ Javascript
๐ TDD(Test Driven Development)_2
TDD.spec.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<link
rel="shortcut icon"
type="image/png"
href="jasmine/lib/jasmine-3.10.1/jasmine_favicon.png"
/>
<link rel="stylesheet" href="jasmine/lib/jasmine-3.10.1/jasmine.css" />
<script src="jasmine/lib/jasmine-3.10.1/jasmine.js"></script>
<script src="jasmine/lib/jasmine-3.10.1/jasmine-html.js"></script>
<script src="jasmine/lib/jasmine-3.10.1/boot0.js"></script>
<script src="jasmine/lib/jasmine-3.10.1/boot1.js"></script>
</head>
<body>
<script src="tddTest.js"></script>
<script src="tddTest.spec.js"></script>
</body>
</html>
tddTest.spec.js
describe("์์ค๋ฏผ ํ
์คํธ ์
๋๋ค.", () => {
it("๋ง์
์ ํ๋ ํจ์์
๋๋ค.", () => {
let num = 10;
expect(plusOne(num)).toBe(num + 1);
});
});
tddTest.js
function plusOne(num) {
return num + 1;
}
TDD.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="tddTest.js"></script>
</body>
</html>
TDD์ ์ฅ์
- ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ก ์ปดํ์ผ๋ฌ์ ์ญํ ์ ํ
์คํธ๋ฅผ ํตํด ๋์ ์ํํ์ฌ ๊ธฐ๋ฅ์ ๊ตฌ๋์ ๋ณด์ฅ
=> ์ฝ๋๋ฅผ ์์ ์ ์ด๊ณ ๊ฒฌ๊ณ ํ๊ฒ ๋ง๋ ๋ค.
- ๊ตฌํํด์ผํ๋ ๊ธฐ๋ฅ์ ๋ํ ๋์ ๋ถ์์ ์๊ตฌ
=> ์๋น์ค์ ๋ํ ์ดํด๋๊ฐ ๋์์ง๊ณ ํ์ง์ ์ฐ์ ํ๋ ์ฌ๊ณ ๋ฅผ ํ๊ฒ๋๋ค.
TDD ์ฌ์ฉ ์ ์ฃผ์์ฌํญ
- ํ
์คํธ ์ฝ๋๋ฅผ ๋ฐ๋ก ์์ฑํด์ผํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ๋ ํ์ํ๊ณ ์ด๋ ๊ณง ์
๋ฌด์ ๋ํ ๋ถ๋ด์ผ๋ก ์์ฉ
=> ํ๋ก์ ํธ๊ฐ ๊ธ๋ฐํ๋ค๋ฉด TDD๋ฅผ ์ฌ์ฉํ์ง ์๋ ํธ์ด ์ข๋ค.
=> ํ๋ก์ ํธ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ํ๋จ
- TDD๊ฐ ๋ชจ๋ ์์ธ ์ํฉ์ ํด๊ฒฐํด์ฃผ๋ ๊ฒ์ ์๋๋ค.
=> ๊ฒฐ๊ตญ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ฌ๋์ด ๊ณ ๋ คํ์ง ์์ ์ํฉ์ ํ
์คํธ ์ฝ๋๋ ๋์น ์ ์๋ค.
=> ํ
์คํธ ์ฝ๋๋ ๊ฒฌ๊ณ ํ๊ณ ์์ ์ ์ธ ์ฝ๋๋ฅผ ์งํฅํ์ง๋ง ์๋ฒฝํ ๊ฒ์ ์๋๋ค.
๐ ํ๋ก์ ํธ ํ์ ๊ตฌ์ฑํ๊ธฐ ์ํ ํ
์คํธ (14:00 ~ 16:00)
๐ ์จ๋ผ์ธ ๊ฐ์ ์๊ฐ
๐ ์ฝ๋๋ผ์ด์ธ - ์ผ๋จ ๋ง๋๋ Javascript
๋ง๋ฌด๋ฆฌ
- ๊ฐ๋จํ๊ฒ ์์ฑํ๋ TDD ์ฝ๋๋ ๊ด์ฐฎ์๋๋ฐ ์ค๋์ '์ด๊ฒ ๋ญ ํ
์คํธ ํ๋๋ผ์~' ํ๋ฉด์ ๋ฐ๋ผ์ ์ฝ๋ ์์ฑํ๊ธฐ ๋ฐ๋นด๋ค.
=> ๋ค์ ํ ๋ฒ ๊ผผ๊ผผํ ์ฝ์ด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค!
- ํ
์คํธ๋ผ๋.. ํ
์คํธ๋ผ๋..!!
=> ์ด์ฐ์ด์ฐ ํ๋๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฏฟ์ ์ ์๊ตฌ๋ง
- ์ฐธ์ฌ ์ค์ธ ์คํฐ๋์์ ํ๋ก์ ํธ๋ฅผ ํ๊ธฐ ์ํด ํ์ ๋๋ด๋ค
=> ์๊ฑฐ ์ํด์ ์์
์์ ํ๋ ํ๋ก์ ํธ๋ ์ ํ์ผ๋ฉด ์ข๊ฒ ๋ค์
=> ํ์ด๋ฆ์ ๋ด๊ฐ ์ง์๋๋ฐ ๋ฉ์ง๊ฒ ์ง๋ ๋ฅ๋ ฅ์ ์๋ ๋ฏ! "๋๊ฐ๋์๋ง์ง์ฐฝ์ด์กฐ"
- ๋ฆฌ์กํธ ์ด์์ ๊ฐ๋ง๋์ง ์๊ฒ ๋ค
- ๊ฒฐ๊ตญ ํ๋กํฌ๋ฆฌ์์ดํธ ๊ฒฐ์ ๐ฅณ
=> ๋๋ฌด ์ข์์์์! ์์์์์