在 Cabal 测试套件中找到我的可执行文件
Posted
技术标签:
【中文标题】在 Cabal 测试套件中找到我的可执行文件【英文标题】:Finding my executable in a Cabal test suite 【发布时间】:2014-06-28 00:54:54 【问题描述】:我正在尝试为构建可执行文件的 cabal 项目编写测试套件。我希望套件中的测试能够运行那个特定的可执行文件,但我不知道在哪里可以找到它(因为我的测试可能是从某个未知位置的沙盒中运行的)。
Cabal 在调用我的测试套件时应该知道我的项目的可执行文件在哪里。我的测试模块/程序是否可以通过新的detailed-1.0
测试框架从 Cabal 收集这些信息和其他类似信息?
【问题讨论】:
你不能使用 cabal 数据文件和 Paths_foo 模块吗? 【参考方案1】:您可以在 cabal 文件中包含一个“魔术”模块来查询与项目相关的路径。
name: myproject
library
other-modules:
Paths_myproject
此模块 (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
【讨论】:
以上是关于在 Cabal 测试套件中找到我的可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 otest 调试测试时,如何将我的可执行文件链接到我的测试包?