在没有 运行 的情况下构建 haskell 堆栈测试

Build haskell stack tests without running

我用失败的测试套件做了一个非常简单的项目https://github.com/k-bx/noruntests-play

现在,当我 运行 stack --test --no-run-tests build 我希望它构建项目,而不是 运行 测试。相反,它 运行 是测试:

➜  noruntests-play git:(master) stack --test --no-run-tests build
noruntests-play-0.1.0.0: test (suite: test)

test: error
CallStack (from HasCallStack):
  error, called at tests/Tests.hs:4:8 in main:Main

Test suite failure for package noruntests-play-0.1.0.0
    test:  exited with: ExitFailure 1
Logs printed to console

我在这里做错了什么?谢谢!

你应该把 build 选项放在 --test 之前,像这样:

$ stack build --test --no-run-tests

我不确定这是错误还是功能。如果您对开发人员的反馈感兴趣,可以打开问题 here。就我个人而言,在 build 之前通过 --test 似乎很奇怪。在某种合理的意义上,--testbuild 的子部分,子部分或选项通常指定在主选项的右侧。

还有你想要的更短版本(因为 build --test 只是 test):

$ stack test --no-run-tests