一つのファイルの中で、実行コードとテストを同時に記入するさいのプラクティス
勉強のため、簡単なコードを書くさいに、ファイルを分割せずに、一つのファイルにてテストを書いたほうが簡潔で良いことがあります。
他のプログラミング言語だと、PythonならDocTestであったり、あるいはRacketだとrackunitのように、一つのファイルにてテストを記入する方法があります。
Rubyだと、minitest/unitが存在しており、確かにこれで、一つのファイルにてrequire 'minitest/autorun'
をすると、コマンド上ではテストが走ります。
ですが、irb
でファイルをrequire
したあとに、REPLを終了させると、テストが走ってしまうので、違和感があります。
確かに、上記の方法では、最低限の「一つのファイルで実行コードとテストを同時に記入する」という要件は満たせるのですが、もしかしたら、これはバッドノウハウなのでは、という疑問がぬぐえません。
もし、Rubyで「一つのファイルの中で、実行コードとテストを同時に記入する」ときには、どういう方法を取るのが良いのでしょうか?