テストモジュール名
Haskell/Cabalはライブラリのディレクトリとテストのディレクトリをはっきり分けるエコシステムのため、 ディレクトリは別々となります。
テストモジュールは一般的には分かり易さのため、
テストする対象のモジュールと同じ名前空間に置いて、
テストするモジュール名の末尾にSpecをつけてください。
つまりテスト対象のモジュール名がEnv.Typeの場合、
テストモジュール名はEnv.TypeSpecとなります。
モジュール名が同じ空間にあることで、 関係性が分かり易くなります。
もちろん、
- 狭い挙動を深く調べたいテストモジュール
- 複数のモジュールを深く利用するテストモジュール
- 特定のモジュールに依存しないテストモジュール
これらには適切なモジュール名をつける必要があります。