首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hspec测试参数在命令行上工作,而不是从.hspec文件中工作。

hspec测试参数在命令行上工作,而不是从.hspec文件中工作。
EN

Stack Overflow用户
提问于 2017-09-07 22:58:02
回答 1查看 261关注 0票数 2

我正在跟踪hspec文档关于将选项传递给Hspec。当从命令行传递时,指定我的选项会像预期的那样工作,但当从.hspec文件或任何其他列出的方法传递时,则不会起作用。

我测试套件中的一个测试与过滤器"post_returns_200“匹配。我可以单独运行这个测试,而无需通过命令运行套件的其余部分。

代码语言:javascript
复制
stack test --test-arguments=--match="post_returns_200"

链接的hspec文档表明,我不仅可以从命令行指定此筛选器,还可以从.hspec文件、ghci内部或环境变量指定此筛选器。但是,当我按照文档中的其他方法指定筛选器时,我会得到一个“无法识别的选项”错误。例如,当我在.hspec文件中指定选项时

代码语言:javascript
复制
$ echo --match="post_returns_200">>.hspec

然后运行stack test将返回以下内容

代码语言:javascript
复制
$ stack test
azara-api-0.1.0.0: test (suite: azara-test)

azara-test: unrecognized option `--match="post_returns_200"' in config file /home/matthew/backup/azara_work/platform/api/.hspec

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

当我试图通过一个环境变量或在ghci中指定选项时,我会得到一个类似的错误。在如何指定命令方面,我已经尝试过许多不同的方法,例如,带或不带引号,带和不带"--test-arguments=",但在这一点上我完全感到困惑。如果通过命令行指定该选项,但其他方法无法识别,对于该选项为什么工作正常有任何建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-08 01:39:32

由于某些原因,hspec在命令行和配置文件中识别了一组不同的选项。

到目前为止,显式命令行参数(在使用堆栈时通过--test-arguments )是将--match传递给hspec的唯一方法。

来自2.4.4的源代码(在当前的活动分支上已经发生了很大变化,但仍然不允许您想要的东西):

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46106286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档