Unit Test
Unit Test ํ ์คํธ์ ์์ฑ ์ข์ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ์๋ ์ธ ๊ฐ์ง ๊ธฐ์ค์ ๋ง์กฑํด์ผ ํ๋ค. ๊ฐ๋ ์ฑ 3A(Arrange / Act / Assert) ์์๋๋ก test case ์ฝ๋๊ฐ ์์ฑ๋์ด ์์ด์ผ ํ๋ค. test case ๊ฐ ์ด๋ค ๋์์ ๊ฒ์ฆํ๋์ง ์ ์ ์์ด์ผ ํ๋ค. test case ์ ์ด๋ฆ์ ๋ช ํํ๊ฒ ์์ฑ ํ์ ์ต์ test framework (java ์์ ์ฌ์ฉํ๋ spock)์์๋ ์์ฐ์ด๋ก test case ์ด๋ฆ์ ์์ฑํ ์ ์๋๋ก ์ง์ํ๋ ๊ฒฝ์ฐ๋ ์๋ค. (google test ๋ ๋ฏธ์ง์) test case ์คํ ์ printf ๋ฌธ์ ํ ๋ฒ ์ถ๋ ฅ ํ๋๋ก ๊ท์น์ ์ ํ์ฌ ์ฌ์ฉํ ์ ์๋ค. #define SPEC(msg) printf("[SPEC] %s\n", msg) TEST(SampleTestCase, SampleTest) { SPEC("์ด ํ ์คํธ๋ ๋ฌด์์ ํ๋ ํ ์คํธ ์ ๋๋ค"); } ์ฝ๋๋ฅผ ๋ณด์ง ์๊ณ ์ค๋ฅ์ ์์ธ์ ์ ์ ์์ด์ผ ํ๋ค. ์์ฐ์ฌ์ ๊ฐ๊น๊ฒ ํ ์คํธ ์ฝ๋๋ฅผ ํํํ๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค. ํจ์ ์ด๋ฆ์ ์์ฐ์ด๋ก ์์ธํ ์ง์ ์๋ฌ ๋ฉ์์ง๋ฅผ ์์ฐ์ด๋ก ์ถ๋ ฅ ์ ์ง๋ณด์์ฑ ...