Whiteship's Note

TDDBE - xUnit 23장

모하니?/Coding : 2008.09.01 20:37


드디어 마지막이군요.

ToDo
테스트 여러 개 실행하기

여러 개 테스트를 한 번에 묶어서 실행합니다. 테스트 코드를 실행하던 메인 메소드를 보고 그 중복을 제거하려는 시도에서 비롯된 거 같습니다.

new TestCaseTest("testTemplateMethod").run().summary();
new TestCaseTest("testResult").run().summary();
new TestCaseTest("testFailedResultFormatting").run().summary();
new TestCaseTest("testFailedResult").run().summary();


바로 이 코드를

        TestSuite suite = new TestSuite();
        suite.add(new TestCaseTest("testTemplateMethod"));
        suite.add(new TestCaseTest("testResult"));
        suite.add(new TestCaseTest("testFailedResultFormatting"));
        suite.add(new TestCaseTest("testFailedResult"));
        suite.add(new TestCaseTest("testSuite"));
        TestResult result = new TestResult();
        suite.run(result);
        System.out.println(result.summary());

이렇게 바꿀 겁니다.

그래서 일단 testSuite이라는 테스트 클래스를 작성합니다.
    public void testSuite(){
        TestSuite suite = new TestSuite();
        suite.add(new WasRun("testMethod"));
        suite.add(new WasRun("testBrokenMethod"));
        TestResult result = new TestResult();
        suite.run(result);
        assert result.summary().equals("2 run, 1 failed");
    }

이 클래스는 Composite 패턴을 구현할 생각이라고 합니다. 따라서 TestSuite에 있는 run()과 TestCase()에 있는 run() 메소드는 똑 같은 모양을 해야합니다. 그러다 보니, run() -> run(TestResult)로 설계상의 변화를 줍니다. 그 결과 이미 기존에 존재하는 코드를 수정해야 하는 일이 생겼습니다. 하지만, 테스트 코드가 있었기 때문에 매우 안전하게 변화를 줄 수 있었습니다. 시간도 그만큼 단축이 되는거겠죠.

간단에 TDD의 달콤함을 다시 맛 볼 수 있었던 좋은 시간이었습니다. 이제는 JUnit 1.0 코드를 볼 차례로군요.. 그건 내일;;

'모하니? > Coding' 카테고리의 다른 글

OSAF 검색 폼 태그 파일 완성  (0) 2008.09.25
Principle of least astonishment  (0) 2008.09.24
How to Design a Good API & Why it Matters  (0) 2008.09.24
delete 요청 처리 컨트롤러 코드 고민  (0) 2008.09.22
@Resource 활용 팁  (6) 2008.09.08
TDDBE - xUnit 23장  (0) 2008.09.01
TDDBE - xUnit 22장  (0) 2008.09.01
TDDBE - xUnit 21장  (0) 2008.09.01
TDDBE - xUnit 20장  (0) 2008.09.01
TDDBE - xUnit 19장  (2) 2008.09.01
TDDBE - xUnit 18장.  (0) 2008.09.01
top

TAG ,

Write a comment.




: 1 : ··· : 156 : 157 : 158 : 159 : 160 : 161 : 162 : 163 : 164 : ··· : 299 :