ElmでDoctestするには以下のどちらかのライブラリを利用します。
今回はelm-doctestを利用してElmでDoctestしてみます。
インストール
下記のコマンドでプロジェクトにインストールします。
npm install elm-doctest
あるいは、
yarn add elm-doctest
テストコマンドを作る
さて、elm-doctestはプロジェクトローカルにインストールした場合、1node_modules/.bin/elm-doctest
で動作させることができません。
プロジェクトローカルで動かせるようにするプルリク出したらマージされてました。
何れにせよ、node_modules/.bin/elm-doctest
などというコマンドは自分で打つには長すぎますので、npmのscript機能を利用してdoctestを実行出来るようにします。2
package.json
{
+ "scripts": { "test": "node ./node_modules/elm-doctest/src/main.js ./src/**/*.elm" }
}
Doctestを書く
elm-doctestではテストコードをdoccomment内に>>> [code]
と記述し、次の行にその結果を書くことで動作させることが出来ます。
テストコードになる部分はドキュメンテーション時にコードブロックになるようにインデントを下げて書いておいたほうが良いです。
module Sample exposing (..)
{-| テストサンプル
利用例:
>>> test "OK"
"OK"
-}
test : String -> String
test text =
text
実行する
ここまで出来たら下記のコマンドで実行出来ます。
npm test