在Codeception堆栈跟踪中显示10个以上的调用

问题描述 投票:1回答:2

我正在通过Codeception调试一些递归代码,它只显示最后10个调用,所以我不知道代码的路径是什么。 Xdebug将尽可能多地展示信息,所以我认为不是这样。

我还没有找到任何配置选项来增加Codeception输出中显示的堆栈跟踪级别数。

如何增加Codeception输出中的调用次数?

截断的错误消息:

There was 1 error:

---------
1) Hl7MessageHeaderSegmentWriterTest: Should build a message header segment
 Test  tests\unit\HMRX\CoreBundle\Utils\Hl7Writer\Segment\Hl7MessageHeaderSegmentWriterTest.php:testShouldBuildAMessageHeaderSegment

  [PHPUnit_Framework_Exception] Object of class DateTimeImmutable could not be converted to string

#1  Codeception\Subscriber\ErrorHandler->errorHandler
#2  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:283
#3  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:251
#4  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7SimpleElementWriter.php:49
#5  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:54
#6  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:29
#7  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:54
#8  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:29
#9  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7ElementFormatter.php:54
#10 C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Segment\Hl7HeaderSegmentWriter.php:18

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

正常错误消息(注意最后一行是codecept.phar的入口点):

There was 1 error:

---------
1) Hl7MessageHeaderSegmentWriterTest: Should build a message header segment
 Test  tests\unit\HMRX\CoreBundle\Utils\Hl7Writer\Segment\Hl7MessageHeaderSegmentWriterTest.php:testShouldBuildAMessageHeaderSegment

  [Exception] foo

#1  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Data\Hl7DateTimeWrapperDataWriter.php:45
#2  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Data\Hl7TimeStampDataWriter.php:54
#3  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7DataForwarder.php:30
#4  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7DataForwarder.php:24
#5  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7DataForwarder.php:20
#6  C:\server\Apache24\htdocs\dev.hmr-app\hmrex\HMRX_App\src\HMRX\CoreBundle\Utils\Hl7Writer\Hl7DataForwarder.php:13
#7  C:\server\Apache24\htdocs\dev.hmr-app\tests\unit\HMRX\CoreBundle\Utils\Hl7Writer\Segment\Hl7MessageHeaderSegmentWriterTest.php:53
#8  HMRX\CoreBundle\Utils\Hl7Writer\Hl7MessageHeaderSegmentWriterTest->testShouldBuildAMessageHeaderSegment
#9  C:\usr\bin\codecept.phar:7

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

来自phpinfo()的Xdebug配置:

xdebug

xdebug support => enabled
Version => 2.5.5

Supported protocols => Revision
DBGp - Common DeBuGger Protocol => $Revision: 1.145 $

Directive => Local Value => Master Value
xdebug.auto_trace => Off => Off
xdebug.cli_color => 0 => 0
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.coverage_enable => On => On
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
xdebug.dump.FILES => no value => no value
xdebug.dump.GET => no value => no value
xdebug.dump.POST => no value => no value
xdebug.dump.REQUEST => no value => no value
xdebug.dump.SERVER => no value => no value
xdebug.dump.SESSION => no value => no value
xdebug.dump_globals => On => On
xdebug.dump_once => On => On
xdebug.dump_undefined => Off => Off
xdebug.extended_info => On => On
xdebug.file_link_format => no value => no value
xdebug.force_display_errors => Off => Off
xdebug.force_error_reporting => 0 => 0
xdebug.halt_level => 0 => 0
xdebug.idekey => no value => no value
xdebug.max_nesting_level => 256 => 256
xdebug.max_stack_frames => -1 => -1
xdebug.overload_var_dump => 2 => 2
xdebug.profiler_aggregate => Off => Off
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => Off => Off
xdebug.profiler_enable_trigger => Off => Off
xdebug.profiler_enable_trigger_value => no value => no value
xdebug.profiler_output_dir => \ => \
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p
xdebug.remote_addr_header => no value => no value
xdebug.remote_autostart => Off => Off
xdebug.remote_connect_back => Off => Off
xdebug.remote_cookie_expire_time => 3600 => 3600
xdebug.remote_enable => On => On
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => localhost => localhost
xdebug.remote_log => no value => no value
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
xdebug.scream => Off => Off
xdebug.show_error_trace => Off => Off
xdebug.show_exception_trace => Off => Off
xdebug.show_local_vars => Off => Off
xdebug.show_mem_delta => Off => Off
xdebug.trace_enable_trigger => Off => Off
xdebug.trace_enable_trigger_value => no value => no value
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => \ => \
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.var_display_max_children => -1 => -1
xdebug.var_display_max_data => -1 => -1
xdebug.var_display_max_depth => -1 => -1
codeception
2个回答
1
投票

使用-vvv标志运行代码以获得完整的堆栈跟踪。


0
投票

$limit = 10的数字在\Codeception\Subscriber\Console::printExceptionTrace中是硬编码的

您可以暂时将该数字编辑为略高一些。

$this->rawStackTrace是代码标志,它是从-vvv Symfony控制台参数设置的,它绕过有限的渲染循环并只转储原始堆栈跟踪。

它们都跳过了\PHPUnit\Util\Filter::$filteredClassesPattern中定义的过滤类,所以你可以在该数组中添加更多的类来删除应用程序的东西(如果这是你的phar调用的意思,我没有使用phar,我通过它使用它编辑器,编辑更简单)。

© www.soinside.com 2019 - 2024. All rights reserved.