我刚刚安装了黄瓜,我测试了它。我收到以下错误:
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”行上有类似描述的内容。这是旧版黄瓜的特征吗? (我正在使用截屏视频开始使用黄瓜。)
答案 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快速查看测试日志的结尾(调整行数以查看感兴趣的部分)。