ExUnitでdescribeが使えるようになった
昨日は小言を並べました。
ついさっきElixir 1.3.0-rc.0がリリースされていることを発見しました。
変更点を眺めていると、気になる一文が!!
[ExUnit] Support for bundling tests together with describe/2
なんと!!
試す
こんな風に使います。特に不自然な点はありません。
defmodule SampleTest do use ExUnit.Case describe "the function" do test "works with valid arguments" do ... end test "raise when invalid arguments are given" do ... end end end
ただし、describe/2
の内側にdescribe/2
をネストさせることはできないようです。
また、named setupという機能も追加されていて、setupにatomやatomのリストを渡せるようになりました。 それをdescribeの中で指定すると、DRYでいい感じにテストが書けそうです。
defmodule SampleTest do use ExUnit.Case describe "the feature" do setup [:do_something_1, :do_something_2] test "works", context do ... end end defp do_something_1(context) do ... end end