gpt4 book ai didi

haskell - 从 Cabal 向 HSpec 提供选项

转载 作者:行者123 更新时间:2023-12-02 03:30:09 25 4
gpt4 key购买 nike

我正在尝试开始使用 hspec。我有一个使用 QuickCheck 的工作案例,但我只想在运行 cabal test 时了解更多细节。我找到了 this article来自 hspec,提供有关在运行可执行文件时提供一些更详细控制的说明。我目前正在使用 hi 来初始化我的 haskell 包,所以我的 cabal 测试套件看起来像这样:

Test-Suite spec
Type: exitcode-stdio-1.0
Default-Language: Haskell2010
Hs-Source-Dirs: src
, test
Ghc-Options: -Wall
Main-Is: Spec.hs
Build-Depends: base
, hspec
, QuickCheck
, quickcheck-instances
, mtl
, text
, transformers

我的猜测类似于“默认命令行参数”,但感觉不对。我如何向 hspec 套件提供参数?

此外,这可能很重要。 hi 拆分测试套件,以便 Spec.hs 中的唯一内容是:

{-# OPTIONS_GHC -F -pgmF hspec-discover #-}

但所有测试和代码都位于 test/MainSpec.hs 中,它导出 mainspec

最佳答案

查看 http://hspec.github.io/hspec-discover.html 上的使用自定义主函数部分

为方便起见,将相关位复制在这里:

Here is an example that shows how this can be utilized to specify a different default formatter:

-- file test/Spec.hs
{-# OPTIONS_GHC -F -pgmF hspec-discover -optF --module-name=Spec #-}

-- file test/Main.hs
module Main where

import Test.Hspec.Runner
import Test.Hspec.Formatters
import qualified Spec

main :: IO ()
main = hspecWith defaultConfig {configFormatter = Just progress} Spec.spec

关于haskell - 从 Cabal 向 HSpec 提供选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27465585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com