xUnit 실습

켄트벡의 “테스트 주도 개발(Test-Driven Development)“책에 있는 xUnit예제를

groovy로 만들어 보았습니다.

이왕이면, 자신의 주력언어 이외 현재 관심이 있거나 공부해보고 싶은 프로그래밍 언어로

만들어보면 더욱 재미있을 것 같습니다.

실행은 TestCaseTest.groovy를 참고하시면 됩니다.

package net.bluepoet.xunit

/**
 * Created by bluepoet on 2016. 11. 25..
 */
class TestCaseTest {
    static void main(String[] args) {
        testTemplateMethod(setUp())
        testResult(setUp())
        testFailedResult(setUp())
        testFailedResultFormatting(setUp())
        testSuite(setUp())
    }

    static def setUp() {
        return new TestResult()
    }

    static def testTemplateMethod(result) {
        def test = new WasRun("testMethod")
        test.run(result)
        assert test.log == 'setUp testMethod tearDown'
    }

    static def testResult(result) {
        def test = new WasRun("testMethod")
        test.run(result)
        assert result.summary() == '1 run, 0 failed'
    }

    static def testFailedResult(result) {
        def test = new WasRun("testBrokenMethod")
        test.run(result)
        assert result.summary() == '1 run, 1 failed'
    }

    static def testFailedResultFormatting(result) {
        result.testStarted()
        result.testFailed()
        assert result.summary() == '1 run, 1 failed'
    }

    static def testSuite(result) {
        def suite = new TestSuite()
        suite.add(new WasRun("testMethod"))
        suite.add(new WasRun("testBrokenMethod"))
        suite.run(result)
        assert result.summary() == '2 run, 1 failed'
    }
}
Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중