2014-01-22 8 views
6

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

+0

Wie wird der PHP-Code 2 mal ausgeführt? –

+1

"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

Antwort

3
<?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

+0

Ich weiß, dass es offensichtlich sein muss, aber kann es nicht herausfinden. Ich bekomme einen FatalError 'Class 'Logger' nicht gefunden ' – pymarco

+0

Alle Anbieter sollten installiert werden, bevor Codeception verwendet wird –

5
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 
.

Verwandte Themen