8.12 ¶
Vim python box ์จ๋ณด๋ค. VIM ์ ํด๋น ๊ธฐ๋ฅ์ ๋ํ ๋น ๋ฅธ Integration ์ ๋๋๊ธฐ ๊ทธ์ง์๋ค. (BRM ์ด๊ฑด, python ๊ด๋ จ ํ๋ฌ๊ทธ์ธ์ด๊ฑด)
7.25 ¶
BoaConstructor ๋ก UI ์์
ํ๊ณ , ์ํํ๊ฒ ์ง๋ง ์ด์ฐจํผ Spike ๋ผ ์๊ฐํ๊ณ Test ์์ด ์ง์์ ์ผ๋ก ๋ฆฌํฉํ ๋ง์ ํด ๋๊ฐ๋ฉด์ prototype ์ ๋ง๋ค์ด๋๊ฐ๋ค. StepwiseRefinement๋ก ์งํํ๋๊น ์ฝ๋๊ฐ ์งง์ ์๊ฐ์ ์ฝ๊ธฐ ์ฝ๊ณ ๋นจ๋ฆฌ ์งํ๋์๋ค.
7.24 ¶
Design ์ ํ ๋ ์ค๋ฒํ๋ ์ฑํฅ์ด ์๋ ๊ฒ ๊ฐ๋ค. IListener ๊ฐ ์์ผ๋ฉด DIP๋ฅผ ์งํค๋ ๊ฒ์ด๊ธฐ๋ ํ๊ณ , ๊ธฐ์กด TestResult ๋ฑ์ ํด๋์ค๋ค์ ์์ ํ์ง ์์ผ๋ฉด์ Listener ๋ค๋ง ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฌ์ฉ๊ฐ๋ฅํ๋๊น OCP ์์ผ๋ก๋ ์ข๊ฒ ์ง๋ง. ๊ณผ์ฐ ๋น์ฅ ํ์ํ ๊ฒ์ผ๊น? ๊ทธ๋ฅ TestResult ๋ฅผ ๋ชจ๋ธ๋ก ๋ค๊ณ ์๊ณ View ํด๋์ค ํ๋ ๋ ์๋ ๊ฒ์ผ๋ก ๋ฌธ์ ๊ฐ ์์๊น?
7.23 ¶
BoaConstructor ๋ฅผ ์ด์ฉ, UI ๋ฅผ ๋ง๋ค์๋ค. ์ฒ์์๋ ์ฝ๊ฐ ์ต์ํด์ง๋๊ฒ ์ฝ์ง ์์๋๋ฐ, ์์๋ ์ฝ๋๋ฅผ ์ด์ ์ดํดํ ๋ง ํ๋ค.
7.22 ¶
SimpleTestResult Spike. result ๊ฒฐ๊ณผ๋ฌผ ์ ๋ฐ์์ง๋ค. Result ์ listener ์ฐ๊ฒฐํด์ฃผ๋ฉด ํ
์คํธ ์คํ, ์ ์ง, ์ฑ๊ณต, ์คํจ์ผ๋๋ง๋ค listener ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ ๋ฆฐ๋ค. ๋์ค์ GUI Runner ์ชฝ์์ listener ๋ฅผ implements ํด์ฃผ๋ฉด ๋ ๋ฏ.
7.21 ¶
unittest ๋ชจ๋์ ํ๋ฆฐํธํ์ฌ Code ๋ถ์์ ํ๋ค. ์ด์ ์ cgi ๋ก test runner ๋์๊ฐ๊ฒ๋ ๋ง๋ค๋ ๊ตฌ๊ฒฝ์ ํด์ ๊ทธ๋ฐ์ง ๋ณ๋ก ์ด๋ ต์ง ์์๋ค. (์กฐ๊ธ ๋ฆฌํฉํ ๋ง์ด ํ์ํด๋ณด๊ธฐ๋ ์ฝ๋๊ฐ๊ธด ํ์ง๋ง.. JUnit ์ ๊ฒฝ์ฐ Assert ๊ฐ ๋ฐ๋ก ํด๋์ค๋ก ๋น ์ ธ์๋๋ฐ PyUnit ์ ๊ฒฝ์ฐ TestCase ์ ์ ๋ถ implementation ๋์ด์ ๋ฉ์น๊ฐ ์ฝ๊ฐ ๋ ํฌ๋ค. ๋ญ, ๋ณ ๋ฌธ์ ๋ ๋ถ๋ถ์ ์๋๊ธด ํ๋ค.
์ฝ๊ฐ๋ง Refactoring ํด์ ์ฐ๋ฉด ๋ ๋ฏ. Runner abstract class ์ถ์ถํ๊ณ , TestResult ์์๋ฐ์ ํด๋์ค ๋ง๋ค๊ณ ,. Test Loading ์ TestLoader ๊ทธ๋๋ก ์ฐ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
Eric ์ Qt Unittest ๋ชจ๋์ด๋, PyUnit Tkinter ์ฝ๋๋ฅผ ๋ณด๋, ๊ฑฐ์ ๋ฐ๋ก ๋ต์ด ๋์๋ฒ๋ฆฐ ๊ฒ ๊ฐ๊ธด ํ๋ค.