如何使用 cabal 在 ghcid 中运行测试套件?

Posted

技术标签:

【中文标题】如何使用 cabal 在 ghcid 中运行测试套件?【英文标题】:How to run test suite in ghcid with cabal? 【发布时间】:2020-08-15 16:24:44 【问题描述】:

我在https://www.parsonsmatt.org/2018/05/19/ghcid_for_the_win.html 的堆栈中找到了这样做的参考,并在此处提及:https://github.com/ndmitchell/ghcid/issues/128

我尝试过的:

[nix-shell:~/NewProjects/orgmode-parse]$ cabal v2-repl test
cabal: Cannot open a repl for the package test, it is not in this project
(either directly or indirectly). If you want to add it to the project then
edit the cabal.project file.

[nix-shell:~/NewProjects/orgmode-parse]$ cabal v2-repl Test.test
cabal: Unknown target 'Test.test'.
There is no component 'Test.test'.


[nix-shell:~/NewProjects/orgmode-parse]$ cabal v2-repl Test.test
cabal: Unknown target 'Test.test'.
There is no component 'Test.test'.

【问题讨论】:

【参考方案1】:
ghcid --command='cabal v2-repl test:tests' --test 'Main.main'

tests 是 cabal 文件中定义的测试套件的名称。而Main.main 指的是Main 模块的main 函数。

【讨论】:

实际上这似乎有一个限制,因为它只会重新加载对测试文件本身的更改,而不是相关的可执行文件/库。 github.com/ndmitchell/ghcid/issues/208#issuecomment-674493644

以上是关于如何使用 cabal 在 ghcid 中运行测试套件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 cabal 的详细 0.9 测试时出现“Prelude.read: no parse”错误

如何解决 cabal 中损坏的依赖关系?

如何将 dev 分支安装到 Cabal 沙箱中

在 Ubuntu 14.04.5 中使用 cabal 时,如何在 Haskell 中安装分析库?

如何在GHC-8.2.2和Cabal-2.0.0.1中使用Text.Parsec

如何在 cabal 中查找已安装的包的反向依赖项