所以我试图遵循Haskell项目的建议结构,并且我在组织测试时遇到了一些问题.
为简单起见,让我们从:
src/Clue/Cards.hs # defines Clue.Cards module
testsuite/tests/Clue/Cards.hs # tests Clue.Cards module
Run Code Online (Sandbox Code Playgroud)
首先,我不知道testsuite/tests/Clue/Cards.hs该包含测试代码的模块名称是什么,而另一方面,我不知道如何编译我的测试代码以便我可以链接到我的源代码:
% ghc -c testsuite/tests/Clue/Cards.hs -L src
testsuite/tests/Clue/Cards.hs:5:0:
Failed to load interface for `Clue.Cards':
Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud) 在其他语言中,我喜欢将我的单元测试放在与生产代码不同的目录结构中,以保持清晰的分离.在Haskell中有一个典型的约定,如何做到这一点或类似的东西?