kin*_*ini 5 testing haskell cabal
我正在尝试为构建可执行文件的 cabal 项目编写测试套件。我希望套件中的测试运行该特定的可执行文件,但我不知道在哪里可以找到它(因为我的测试可能是从某个未知位置的沙箱中运行的)。
Cabal 在调用我的测试套件时应该知道我的项目的可执行文件在哪里。我的测试模块/程序有什么方法可以从 Cabal 收集这些信息和其他类似信息,也许是使用新的detailed-1.0测试框架?
您可以在 cabal 文件中包含一个“神奇”模块来查询与项目相关的路径。
name: myproject
library
other-modules:
Paths_myproject
Run Code Online (Sandbox Code Playgroud)
该模块 ( import Paths_myproject) 导出几个FilePath值,可用于查询 Cabal 在安装项目时使用的各种路径。
Paths_myproject.getBinDir
Paths_myproject.getDataDir
Paths_myproject.getDataFileName
Paths_myproject.getLibDir
Paths_myproject.getLibexecDir
Paths_myproject.getSysconfDir
Paths_myproject.version
Run Code Online (Sandbox Code Playgroud)