Kahlan – skróty podczas tworzenia instancji Double

Czołem!

Całkiem nie dawno dorzuciłem swoje 3 grosze do projektu Kahlan. W tym wpisie przedstawię co nowego dodałem.

Możliwość zdefiniowana wartości zwracanych przez metody podczas tworzenia instancji \Kahlan\Plugin\Double.

Przed zmianami, używając funkcji allow:

<?php
$double = \Kahlan\Plugin\Double::instance();
allow($double)->toReceive('foo')->andReturn('bar');
echo $double->foo() // 'bar';

Po zmianach, używając parametrów podczas tworzenia instancji:

<?php
$double = \Kahlan\Plugin\Double::instance([
    'stubMethods' => [
        'foo' => 'bar'
    ]
]);
echo $double->foo(); // 'bar'

Możliwość zdefiniowana fałszywej implementacji metody podczas tworzenia instancji \Kahlan\Plugin\Double.

Przed zmianami, używając funkcji allow:

<?php
$double = \Kahlan\Plugin\Double::instance();
allow($double)->toReceive('foo')->andRun(function () {
    return 'bar';
});
echo $double->foo() // 'bar'

Po zmianach, używając parametrów podczas tworzenia instancji:

<?php
$double = \Kahlan\Plugin\Double::instance([
    'fakeMethods' => [
        'foo' => function () { return 'bar'; }
    ]
]);
echo $double->foo(); // 'bar'

Niby nic, ale zawsze trochę szybciej pisze się testy, czy tam specyfikacje, jak kto woli 🙂

Zapraszam do dyskusji oraz udostępniania! Pozdrawiam serdecznie.