pythonにはdoctestというのがあって、 method前段に書いた動作例documentをtestとして動かせるそうな。 同じようなのがJavaにも無いかなと探してみると、 groovy.util.JavadocAssertionTestSuite
を使ってJavadocにtesting codeを書けるんだそう。 うさぎ組 プロダクトコードのJavaDocにテストコードを書く方法より。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| class Sample {
/**
* add prefix 'sample'.
* <pre class="groovyTestCase">
* def sample = new org.kyon_mm.Sample()
* assert 'sample foo' == sample.prefixSample("foo")
* </pre>
*/
String prefixSample(aaa){
return "sample $aaa"
}
}
|
と書いて、
1
2
3
4
5
6
7
8
9
10
11
| import junit.framework.Test
import junit.framework.TestCase
import junit.framework.TestSuite
class ReferenceTests extends TestCase {
static Test suite() {
def suite = new TestSuite()
suite.addTest( JavadocAssertionTestSuite.suite( 'src/main' ) )
suite
}
}
|
と書けば、gradleでもtestしてくれるそう。 こんなのがあったなんてびっくりポンです。 JDoctestというのもありますが、 Javascriptで記述するというのでGroovyの方がいいですよね。