黄瓜错误被抑制(未完全显示)

时间:2010-07-12 22:41:46

标签: ruby-on-rails cucumber

我刚刚安装了黄瓜,我测试了它。我收到以下错误:

teefcomp:cucumber-intro teef$ cucumber features/manage_users.feature
Using the default profile...
F----F

Failing Scenarios:
cucumber features/manage_users.feature:6 # Scenario: User List

1 scenario (1 failed)
4 steps (4 skipped)
0m0.029s

似乎是在抑制错误。我期待的是:

Feature: Manage users
  In order to understand my user base better
  As an administrator
  I want to view a list of users

  Scenario: User List
    Given I have users named George, Mary
      uninitialized constant User (NameError)
      ./features/step_definitions/user_steps.rb:3
      ./features/step_definitions/user_steps.rb:2:in '/^I have users named (.*)$/'
      features/manage_users.feature:7:in 'Given I have users named George, Mary'

任何人都知道如何让黄瓜完整地显示错误?

--backtrace--verbose-b--trace不起作用;我仍然看到F----F并且列出了失败的场景,但我仍然希望在“NameError”行上有类似描述的内容。这是旧版黄瓜的特征吗? (我正在使用截屏视频开始使用黄瓜。)

2 个答案:

答案 0 :(得分:14)

使用-b标志运行应该会给你一个完整的回溯

cucumber features/manage_users.feature -b

编辑:

此外,您可以使用--backtrace的完整符号。如果您通过rake运行,请使用--trace标志

运行

要获得完整输出,您可以使用--format标志。我通常使用--format pretty来逐行浏览。

来自--help输出。

-f, --format FORMAT              How to format features (Default: pretty). Available formats:
                                   debug       : For developing formatters - prints the calls made to the listeners.
                                   html        : Generates a nice looking HTML report.
                                   json        : Prints the feature as JSON
                                   json_pretty : Prints the feature as pretty JSON
                                   junit       : Generates a report similar to Ant+JUnit.
                                   pdf         : Generates a PDF report. You need to have the
                                                 prawn gem installed. Will pick up logo from
                                                 features/support/logo.png or
                                                 features/support/logo.jpg if present.
                                   pretty      : Prints the feature as is - in colours.
                                   progress    : Prints one character per scenario.
                                   rerun       : Prints failing files with line numbers.
                                   stepdefs    : Prints All step definitions with their locations. Same as
                                                 the usage formatter, except that steps are not printed.
                                   tag_cloud   : Prints a tag cloud of tag usage.
                                   usage       : Prints where step definitions are used.
                                                 The slowest step definitions (with duration) are
                                                 listed first. If --dry-run is used the duration
                                                 is not shown, and step definitions are sorted by
                                                 filename instead.
                                 Use --format rerun --out features.txt to write out failing
                                 features. You can rerun them with cucumber @rerun.txt.
                                 FORMAT can also be the fully qualified class name of
                                 your own custom formatter. If the class isn't loaded,
                                 Cucumber will attempt to require a file with a relative
                                 file name that is the underscore name of the class name.
                                 Example: --format Foo::BarZap -> Cucumber will look for
                                 foo/bar_zap.rb. You can place the file with this relative
                                 path underneath your features/support directory or anywhere
                                 on Ruby's LOAD_PATH, for example in a Ruby gem.

答案 1 :(得分:1)

如果你的应用程序是Rails应用程序,你可以使用@ allow-rescue标签来感兴趣的场景,然后你的rails test_log将包含有关应用程序在最初引发错误的位置的更多细节。

从命令行,您可以使用tail -n200 log / test_log.rb快速查看测试日志的结尾(调整行数以查看感兴趣的部分)。