Codeception.场景运行时的输出变量

MrB*_*Win 6 php phpunit codeception

在场景运行时是否可以记录或输出任何用户数据?我知道php代码在每次运行时执行两次,如何在第二步中看到变量的值?

luc*_*nov 5

codecept_debug($var);
Run Code Online (Sandbox Code Playgroud)

并在"调试模式"中运行codecept来查看它:

./vendor/bin/codecept run -d
Run Code Online (Sandbox Code Playgroud)

如果要确保不仅在调试模式下显示var:

$t = ob_get_clean(); // get current output buffer and stopping output buffering
var_dump($var); // show what we need
ob_start(); // start output buffering
echo($t); // restore output buffer
Run Code Online (Sandbox Code Playgroud)

您可以将此代码移出到外部库.


tig*_*seo 3

<?php
    use Codeception\Extension\Logger;

    if ($scenario->running()) {
        Logger::log((string)$var);
    }
?>
Run Code Online (Sandbox Code Playgroud)

请参阅文档

关于查看变量值,如果它是标量数据,最好的方法是类型转换为字符串,如果它是数组,则访问数组索引/键等。但是有一个未记录的方法 $var->__value() ,您可以使用它进行调试,但不应在测试中依赖它