表題の通り、テストフレームワークをリリースしました。
名前は ktcheck です。
JUnit Platform 上で動かせますが、普通のメインプログラムの中でも使えます。
利用方法
インストール・導入
gradle の場合、次の記述を dependencies
ブロックに記述します。
dependencies {
testImplementation("run.ktcheck:ktcheck:v0.1.0")
}
テストの記述
object
を作って、 KtCheck
インターフェースを実装させて、 Given.When.Then
で生成されるオブジェクトに移譲します。
object IntPlusTest: KtCheck by Given("Int の値 1 に", { 1 }) .When("Int の値 3 を足すと", { int -> int + 3 }) .Then("4 になる", {_, result -> result shouldBe 4})
条件を Given
に記述し、操作を When
に記述して、 Then
にアサーションを記述するのを強制するようなフレームワークになっています。
あとはテストの実行ですが、 IntelliJ では ktcheck のテストを検出できませんので、 gradle のテストタスクを起動します
テストが実行されて、結果も表示されます。他の gwh スタイルのテストフレームワークよりも明確にテストの名前が表示されるので落ちたテストについてどのようなテストであるかがわかりやすくなっています(kotest のいやなところをこちらは解決した)。
もう少し、凝った使い方もできますが、とりあえず省略です。
レポジトリーはこちらです
あと、ロゴを作ってくれる人いたら紹介してください。