断言输出在本地通过但在 Travis 上失败的 Cucumber 测试 CI

Cucumber test to assert output passes locally but fails on Travis CI

我有一些黄瓜测试 运行 在本地非常好,但在 Travis CI 上传递时有问题。我的具体问题是处理文本输出到 stdout/console 的 Gherkin/Cucumber 断言。

这个有趣的方面是我在套件中有 phpunit 测试,可以测试控制台输出并且它们 运行 完美。可以在 url https://travis-ci.org/ddelnano/dredd-hooks-php 中看到 Travis CI 测试套件。但是,我在下面附上了一张失败测试的图片。

我的.travis.yml文件如下所示:

language: php
before_install:
  - npm install -g dredd
  - bundle install
  - composer install

php:
  - "5.5"    
  - "5.6"

script:
  - bundle exec cucumber
  - vendor/bin/phpunit  

在 Travis CI 上失败的断言是:

Then the output should contain: 
"""
Text that should be output
"""

从 Travis CI 输出看来我没有得到任何输出。

我查看了 Travis 的常见问题,但找不到与我的问题相关的任何内容。

我将不胜感激任何帮助,因为这是在我的第一个开源贡献准备好使用之前我需要解决的最后一件事!

根据 cucumber/aruba github 页面的建议,我能够解决这个问题 here。我的黄瓜测试对每个场景块都有 @debug 注释,为了解决我的问题,我需要用 @announce 替换该注释。