Ist es möglich, Benutzerdaten zu protokollieren oder auszugeben, während das Szenario ausgeführt wird? Ich weiß, dass der PHP-Code zweimal bei jedem Lauf ausgeführt wird, wie kann ich den Wert einer Variablen im zweiten Schritt sehen?Codeception. Ausgabevariable bei laufendem Szenario
Antwort
<?php
if ($scenario->running()) {
Logger::log((string)$var);
}
?>
bitte, tun sie sehen docs
und Variablenwert in Bezug auf zu sehen, die bevorzugte Art und Weise wird in String typecasting wenn es eine skalare Daten ist, Array-Index/Schlüssel zugreifen, wenn es ein Array ist, usw., aber es gibt undokumentierte Methode $ var -> __ Wert(), die Sie für das Debuggen verwenden können, aber in Tests auf sie verlassen sollte nicht
Ich weiß, dass es offensichtlich sein muss, aber kann es nicht herausfinden. Ich bekomme einen FatalError 'Class 'Logger' nicht gefunden ' – pymarco
Alle Anbieter sollten installiert werden, bevor Codeception verwendet wird –
codecept_debug($var);
und führen Sie es codecept in "Debug-Modus" zu sehen:
./vendor/bin/codecept run -d
Wenn Sie sicherstellen möchten, dass Ihre var im Debug-Modus nicht nur gezeigt wird:
an externe Bibliothek heraus können Sie diesen Code bewegen
$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
.
Wie wird der PHP-Code 2 mal ausgeführt? –
"Aber Sie sollten bedenken, dass Codeception jedes Szenario zweimal ausführt: eines für die Analyse und eines für die Ausführung. Jeder benutzerdefinierte PHP-Code, der in die Datei eingefügt wird, wird also zweimal ausgeführt!". Dies ist aus Tutorial. – MrBinWin