Print any information you'd like to a command line during the test suite execution.
Add @debug
tag to your feature definition:
@debug
Feature: Test
Scenario: Test
# ...
Add extension to your configuration file:
default:
extensions:
Behat\DebugExtension: ~
Extend your object with a trait:
use Behat\DebugExtension\Debugger;
class Example
{
use Debugger;
}
Use the debug
method wherever you like:
public function method()
{
// ...
self::debug([
'Function arguments: %s',
'Second line',
], [
var_export(func_get_args(), true),
]);
// ...
}
As you can see the debug
method processed by sprintf()
function, so second argument for a method is an array of placeholders.
Also, with this extension, you able to print styled messages to a command line.
new \Behat\DebugExtension\Message('comment', 2, [
'This is a first line of a message that will be printed to a command line.',
'Read documentation for this class to know how to use it.',
]);
export BEHAT_DEBUG=true
This environment variable tells that messages should be printed in any way.