なんでもかんでもGroovy病

2021-02-22Groovy

Groovyでなんでもかんでもやる病気が。

最近、.NETの開発プロジェクトに参加している。クラスのテストはNunitを使用しているが、バッチexeの作成担当になってからはJUnit+Groovyで単体テストをしている。

例をあげると以下のような感じ。

#!/usr/bin/env groovy

class Test extends GroovyTestCase {
    def parameter
    def initvalue
    def sql = groovy.sql.Sql.newInstance(
        "jdbc:oracle:thin:172.20.70.xxx:1521:projectsdb",
        "projects",
        "projects",
        "oracle.jdbc.driver.OracleDriver"
    )

    void setUp() {
        execParameter = 3
        initvalue = "初期値"
        def initSql = "UPDATE result_table SET init_value = '${initvalue} where id = ${result_id}"
        sql.executeUpdate(initSql)
        def process = "cmd.exe /C APPLICATION.exe ${parameter}".execute()
        process.text
    }

    void test_success() {
        def result_id = 3
        assertEquals(0, process.exitValue())
        def row = sql.firstRow("select * from result_table where id = ${result_id}") {
            assertEquals(1, it.status)
        }
    }
}

このJUnitの使い方には、きっと問題はたくさんあるのだろうが、とりあえずこのテストコードのおかげで回帰テストが楽になってはいる。

最近勉強中のTestNGも使いたい。

2021-02-22Groovy