构建Haskell Stack测试而不运行

5

我用这个链接创建了一个非常简单的项目,但测试套件失败了。

现在,当我运行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

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

1个回答

5
您应该将build选项放在--test之前,就像这样:
$ stack build --test --no-run-tests

我不确定这是一个错误还是一个特性。如果您有兴趣听取开发人员的反馈,请在此处打开问题 here。对我个人而言,在运行build 之前传递 --test似乎有些奇怪。从某种合理的意义上讲,--testbuild的子部分,子部分或选项通常在主选项的右侧指定。
另外,您可以使用更短的版本,因为build --test只是test:
$ stack test --no-run-tests

1
我认为你的想法在某种程度上是正确的,但另一方面,如果该选项未被识别,最好不要悄悄地将其丢弃,而是报告一个错误或警告。我会创建一个工单。 - Konstantine Rybnikov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接